当我使用
时select trunc(sysdate) from dual
我今天得到了正确的日期格式。喜欢“6/24/2013”
如果我这样做
select trunc(sysdate)-1 from dual
我昨天的日期格式很好。
但是,如果我这样做:
select trunc(sysdate)- trunc(sysdate-1) from dual
我想得到1,但我得到的是 / d / yyyy
我想做的就是计算两个日期之间的天数。通过使用 Trunc(日期) - Trunc(另一个日期),,我总是得到 / d / yyyy ,而不是这两个日期之间的日子。
怎么做?
提前致谢。
答案 0 :(得分:1)
Oracle有一个days_between函数:DAYS_BETWEEN(date1,date2),因此您的查询可以表示为:
select abs(days_between(trunc(sysdate),trunc(sysdate-1))) from dual
我已经包含了abs()函数,因为我不记得最近的日期应该是第一个还是第二个才能得到肯定的结果而且现在无法检查。
答案 1 :(得分:0)
只需使用减号( - )Oracle将日期存储为数字,1 = 1天
所以sysdate + 1是明天,sysdate - 1是昨天
从SQL小提琴 TRUNC(SYSDATE)-TRUNC(SYSDATE-1) 1