看完这章你会学习以下:
- Months_BETWEEN 两个日期的顺序
- NEXT_DAY 返回日期的注意事项
--ADD_MONTHS(d,n),在某一个日期d上,加上指定的月数n,返回计算后的新日期。d表示日期,n表示要加的月数(n可以为负值) SELECT ADD_MONTHS(SYSDATE, 1), ADD_MONTHS(DATE'2019-08-30', -6), ADD_MONTHS(DATE'2020-08-30', -6) FROM DUAL; --LAST_DAY(d),返回指定日期当月的最后一天 SELECT LAST_DAY(SYSDATE),LAST_DAY(DATE'2019-08-30') FROM DUAL; -- MONTHS_BETWEEN (date1, date2),用于计算date1和date2之间有几个月 SELECT MONTHS_BETWEEN(TO_DATE('2014-3-21', 'yyyy-mm-dd'), TO_DATE('2014-1-10', 'yyyy-mm-dd')) mon_diff FROM DUAL; --注意:日期可以加减数字,表示加减多少天;日期减去日期表示相隔多少天;日期不能相加 SELECT DATE'2019-08-30'+6, DATE'2019-08-30'-6, DATE'2019-08-30'-DATE'2019-08-16' FROM DUAL;
注意:Months_Between的第一个日期要大于第二个日期,否则返回负数。
Next_day注意:如果今天是星期六,如果要查询下一个星期六,则返回下周的星期六;如果要查询下一个星期日,则返回值是这个周的星期日。
--NEXT_DAY(d,date2[Mon,Tues,... ..]),返回指定日期的接下(指定日期)日子 SELECT NEXT_DAY(DATE'2019-08-30','friday') FROM DUAL; SELECT NEXT_DAY(SYSDATE,1) FROM DUAL;
Date强制转化注意: 日期只能相减,返回两者的天数。
功能相当于Months_Between,但不能相加!
--注意:日期可以加减数字,表示加减多少天;日期减去日期表示相隔多少天;日期不能相加 SELECT DATE'2019-08-30'+6, DATE'2019-08-30'-6, DATE'2019-08-30'-DATE'2019-08-16' ---- DATE'2019-08-30'+DATE'2019-08-16' 不允许日期+日期 FROM DUAL;
发布于 05-30