看完这章你会学习以下:
- 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
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。