问一个SQL语句的写法

smileconfess 2006-08-04 11:38:09
数据表TEST里有两个字段startdate和enddate,都是date型的(只有年月日)。我想算出所有记录的startdate和enddate的差是多少天,语句怎么写?
...全文
144 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
smileconfess 2006-08-04
  • 打赏
  • 举报
回复
但是有的记录enddate值为空,sum(enddate - startdate)就得不到结果,怎么处理呢?
龙翔飞雪 2006-08-04
  • 打赏
  • 举报
回复
直接相减, 得到的结果就是相差几天.
yjdn 2006-08-04
  • 打赏
  • 举报
回复
两个日期相减,整数部分就是相关的天数了
xiaoxiao1984 2006-08-04
  • 打赏
  • 举报
回复
select enddate - startdate from test
或者
select trunc(enddate) - trunc(startdate) from test
dior82 2006-08-04
  • 打赏
  • 举报
回复
先减,再用TO_CHAR把数据格式化下成日期
smileconfess 2006-08-04
  • 打赏
  • 举报
回复
是不是sum(enddate - startdate),这样得到的单位是天吗?
sxykje 2006-08-04
  • 打赏
  • 举报
回复
select enddate - startdate from test
sxykje 2006-08-04
  • 打赏
  • 举报
回复
nvl(enddate,sysdate)
youzhouke 2006-08-04
  • 打赏
  • 举报
回复
如果enddate为空,是不是应该去当前日期呢?
nvl(enddate, nowdate)

17,382

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧