SQL函数之日期/时间函数

 

January,Febuary,March,April ,May ,June ,July,August,September,October,November,December
闰年 leap year

1.ADD_MONTHS:
功用:将给定的日期增加一个月
如果没有 TO_CHAR 和 TO_DATE 函数的帮助,ADD_MONTH 就无法在字符或数字类型中工作

SELECT TASK,STARTDATE,ENDDATE ORIGINAL_END,ADD_MONTHS(ENDDATE,2) FROM PROJECT;
把ENDDATE推迟两个月

SELECT TASK TASKS_SHORTER_THAN_ONE_MONTH FROM PROJECT WHERE ADD_MONTHS(STARTDATE 1)>ENDDATE;
ADD_MONTHS也可能工作在 SELECT 之外

2.LAST_DAY:
功用:返回指定月份的最后一天。

SELECT ENDDATE,LAST_DAY(ENDDATE) FROM PROJECT;

如果是在闰年:
SELECT LAST_DAY('1-FEB-95') NON_LEAP,LAST_DAY('1-FEB-96') LEAP FROM PROJECT;

优化:
SELECT DISTINCT LAST_DAY('1-FEB-95') NON_LEAP,LAST_DAY('1-FEB-96') LEAP FROM PROJECT;

3.MONTHS_BETWEEN:
功用:计算给定的两个日期中有多少个月

SELECT TASK,STARTDATE,ENDDATE,MONTHS_BETWEEN(STARTDATE,ENDDATE) DURATION FROM PROJECT;

SELECT * FROM PROJECT WHERE MONTHS_BETWEEN('19 MAY 95',STARTDATE)>0;
4.NEW_TIME:
功用:把时间调整到你所在的时区

SELECT ENDDATE EDT,NEW_TIME(ENDDATE,‘EDT’,‘PDT’)FROM PROJECT;
5.NEXT_DAY:
功用:返回紧接着的下一个星期几的具体日期

SELECT STARTDATE,NEXT_DAY(STARTDATE,‘FRIDAY') FROM PROJECT;
6.SYSDATE:
功用:返回系统的日期和时间

SELECT DISTINCT SYSDATE FROM PROJECT;

SELECT * FROM PROJECT WHERE STARTDATE SYSDATE
可以知道在今天你都已经启动了哪些项目

 

posted @ 2017-03-07 17:18  我本山中人  阅读(331)  评论(0编辑  收藏  举报