日期函数
months_between ()函数
- months_between(日期1,日期2)函数用于获取两个日期所间隔的月数。该函数的返回值是一个实数。
- SELECT months_between(sysdate, to_date('2009-02-08', 'yyyy-mm-dd')) FROM dual;
![](https://img2020.cnblogs.com/blog/1787139/202007/1787139-20200701203442488-602112927.png)
- 当第一个日期早于第二个日期,那么返回值将是负值。
- SELECT months_between(to_date('2009-02-08', 'yyyy-mm-dd'),to_date('2009-03-08', 'yyyy-mm-dd')) result FROM dual;
add_months()函数——为日期加上特定月份
- add_months(日期,数字)函数将为日期添加特定月份,并获得新的日期。
- SELECT to_char(add_months(sysdate, 20), 'yyyy-mm-dd') result FROM dual;
![](https://img2020.cnblogs.com/blog/1787139/202007/1787139-20200701203731269-1966319160.png)
- SELECT to_char(add_months(sysdate, 150000), 'yyyy-mm-dd') result FROM dual;
![](https://img2020.cnblogs.com/blog/1787139/202007/1787139-20200701203752508-1839287914.png)
last_day()函数
- last_day(日期) 该函数获得该月最后一天的日期。
- 【例】查询emp表获得雇用日期是月末倒数第二天的所有员工的信息。
SELECT ename,hiredate,last_day(hiredate) FROM emp WHERE hiredate=last_day(hiredate)-2;
![](https://img2020.cnblogs.com/blog/1787139/202007/1787139-20200701203937177-1577370350.png)