本帖最后由 摄影勾魂 于 2013-12-21 23:27 编辑
现在基本上算了找到了想要的结果,虽然不是很完善。
- SELECT TO_CHAR(dt.date1,'yyyy-mm-dd') 起,TO_CHAR(dt.date2,'yyyy-mm-dd') 止, ' 隔了 ' 间隔,
- FLOOR(b.yue/12) 年,
- FLOOR(MOD(b.yue,12)) 月,
- CASE
- WHEN (to_char(dt.date2,'dd')-to_char(dt.date1,'dd'))>=0 THEN to_char(dt.date2,'dd')-to_char(dt.date1,'dd')
- ELSE to_char(last_day(add_months(dt.date2,-1)),'dd')-to_char(dt.date1,'dd')+to_char(dt.date2,'dd')
- END 天
- FROM dateTable dt,(SELECT dno,MONTHS_BETWEEN(date2,date1) as yue FROM dateTable) b
- WHERE dt.dno = b.dno
- /
复制代码
|