高分求助!!如何用一个SQL语句实现时间相减?在线等待

wwyysha 2003-09-09 08:10:22
现有一个起始时间start_date和结束时间end_date,值分别为2001-09-05 00:00:00和2002-12-20 00:00:00,如何实现用2002-12-20 00:00:00减去2001-09-05 00:00:00,最后的值为天数或者多少个月加天数这样的?
...全文
106 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
jasoncheung 2003-09-10
  • 打赏
  • 举报
回复
to_char(timestamp,'yyyy-mm-dd hh24:mi:ss')
chem2624 2003-09-10
  • 打赏
  • 举报
回复
转换成字符串会很容易解决的。to_char(),有MM,DDD,YY,YYYY等格式元素。
hdkkk 2003-09-10
  • 打赏
  • 举报
回复
用这个吧
bzszp 2003-09-10
  • 打赏
  • 举报
回复
天数的话直接减就可以了
如果是月份
用months_between函数
SQL> select months_between(sysdate,to_date('2003-01-01','yyyy-mm-dd')) from dual;

MONTHS_BETWEEN(SYSDATE,TO_DATE('2003-01-01','YYYY-MM-DD'))
----------------------------------------------------------
8.30373245

SQL>
LGQDUCKY 2003-09-10
  • 打赏
  • 举报
回复
其实,建议你还是买一本PL/SQL的参考书,里面
有很多你所需要的东西,
select to_Date('2002-12-20','yyyy/mm/dd') - to_date('2001-09-05','yyyy/mm/dd') from dual
得到这个段时间的天数。
beckhambobo 2003-09-10
  • 打赏
  • 举报
回复
日期型相减后得到天数
多少个月加天数 --这句话是什么意思
csuxiong 2003-09-09
  • 打赏
  • 举报
回复
用to_char转换为字符进行运算应该也可以
csuxiong 2003-09-09
  • 打赏
  • 举报
回复
同意楼上的
jiezhi 2003-09-09
  • 打赏
  • 举报
回复
天數:trunc(date1-date2)
softrookie 2003-09-09
  • 打赏
  • 举报
回复
两个日期相减就为相差的天数,不足一天则有小数
months_between(date1,date2)返回date1和date2之间的月数,不足一月则有小数

17,377

社区成员

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

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