1.ADD_DAYS(data,n):返回日期 date加上相应天数n后的日期值。n可以是任意整数,date是日期类型(DATE)或时间戳类型(TIMESTAMP),返回值为日期类型(DATE)。
select ADD_DAYS(date '2020-03-30',2);
2.ADD_MONTHS(date,n):返回日期 date加上n个月的日期时间值。n可以是任意整数,date是日期类 型(DATE)或时间戳类型(TIMESTAMP),返回类型固定为日期类型(DATE)。如果相加之后的结果日期中月份所包含的天数比date日期中的日分量要少,那么结果日期的该月最后一 天被返回。
select ADD_MONTHS(date '2020-01-31',1);
3.ADD_WEEKS(date,n):返回日期 date加上相应星期数n后的日期值。n可以是任意整数,date 是日 期类型(DATE)或时间戳类型(TIMESTAMP),返回类型固定为日期类型(DATE)。
select ADD_WEEKS(date '2020-3-19',1);
4.CURDATE()/CURRENT_DATE:返回当前的日期。
5. CURTIME()/CURRENT_TIME/LOCALTIME (n):返回当前时间。
select CURTIME();
6.CURRENT_TIMESTAMP(n):返回当前带会话时区的时间戳,结果类型为TIMESTAMP WITH TIME ZONE。 参数:n:指定毫秒的精度。取值范围0-6,默认为6。
SELECT CURRENT_TIMESTAMP();
7.DATEADD(datepart,n,date): 向指定的日期date加上n个datepart指定的时间段,返回新的timestamp 值。datepart可以为YEAR(缩写YY或YYYY)、QUARTER(缩写QQ或Q)、MONTH(缩写 MM或M)、DAYOFYEAR(缩写DY或Y)、DAY(缩写DD或D)、WEEK(缩写WK或WW)、HOUR(缩 写HH)、MINUTE(缩写MI或N)、SECOND(缩写SS或S)和MILLISECOND(缩写MS)。
8.DATEDIFF/BIGDATEDIFF(datepart,date1,date2):返回跨两个指定日期的日期和时间边界数。
9.DATEPART/DATE_PART(datepart,date) :返回代表日期 data 的指定部分的整数。
10.DAYNAME(date):返回日期对应星期几。
select DAYNAME(date '2020-03-19');
11.DAYOFMONTH(date):返回日期是当月的第几天。
select DAYOFMONTH(date '2020-03-19');
12.DAYOFWEEK(date):返回日期是当前周第几天。
13.DAYOFYEAR(date):返回日期是当年第几天。
14.DAYS_BETWEEN(dt1,dt2):返回两个日期相差天数。
15.EXTRACT(dtfield FROM date)::EXTRACT从日期时间类型或时间间隔类型的参数date中抽取dtfield对应的 数值,并返回一个数字值。如果date是NULL,则返回NULL。Dtfiled 可以是YEAR、 MONTH、DAY、HOUR、MINUTE、SECOND。对于 SECOND 之外的任何域,函数返回整数, 对于SECOND返回小数。
16.GETDATE(n)/NOW(n):返回系统的当前时间戳。
select GETDATE();
17.GREATEST(n1,n2,n3):求n1、n2和n3中的最大日期。
18.GREAT (n1,n2):求n1、n2中的最大日期。
19.HOUR(time):返回时间中的小时值。
20.LAST_DAY(date):返回 date 所在月最后一天的日期,date 是日期类型(DATE)或时间戳类型 (TIMESTAMP),返回类型与date相同。
21.LEAST(n1,n2,n3):求n1、n2和n3中的最小日期。
22.MINUTE(time):返回时间中的分钟值。
23.MONTH(date):返回日期中的月份值。
24.MONTHNAME(date):返回日期中月份分量的名称。
25.MONTHS_BETWEEN(date1,date2):返回date1和date2之间的月份值。如果date1比date2晚,返回正值,否 则返回负值。如果date1和date2这两个日期为同一天,或者都是所在月的最后一天,则 返回整数,否则返回值带有小数。date1 和 date2 是日期类型(DATE)或时间戳类型 (TIMESTAMP)。
26.NEXT_DAY(date,char):返回在日期date 之后满足由 char 给出的条件的第一天。char 指定了一周中 的某一个天(星期几),返回值的时间分量与date相同,char是大小写无关的。
select next_day(date '2020-03-19','FRI');
27. QUARTER(date):返回日期在所处年中的季度数。
select QUARTER(date '2020-03-19');
28.SECOND(time):返回时间中的秒值。
29.ROUND(date[, fmt])::将日期时间 date 四舍五入到最接近格式参数 fmt 指定的形式。如果没有指定 语法的话,到今天正午 12P.M.为止的时间舍取为今天的日期,之后的时间舍取为第二天 12A.M.。日期时间 12A.M.,为一天的初始时刻。参数 date 的类型可以是 DATE 或 TIMESTAMP,但应与 fmt相匹配。函数的返回结果的类型与参数date相同。
30.TIMESTAMPADD(interval,n,timestamp):返回时间戳timestamp加上n个interval代表的时间间隔的结果。interval 可以为 SQL_TSI_FRAC_SECOND 、 SQL_TSI_SECOND 、 SQL_TSI_MINUTE 、 SQL_TSI_HOUR 、 SQL_TSI_DAY 、 SQL_TSI_WEEK 、 SQL_TSI_MONTH 、 SQL_TSI_QUARTER和SQL_TSI_YEAR。
31.TIMESTAMPDIFF(interval,timestamp1,timestamp2):返回一个表明 timestamp2 与 timestamp1 之间的 interval 类型的时间间 隔的整数。interval 可以为 SQL_TSI_FRAC_SECOND 、 SQL_TSI_SECOND 、 SQL_TSI_MINUTE 、 SQL_TSI_HOUR 、 SQL_TSI_DAY 、 SQL_TSI_WEEK 、 SQL_TSI_MONTH、SQL_TSI_QUARTER和SQL_TSI_YEAR。
32.SYSDATE():获取系统当前时间。
33.TO_DATE (char [,fmt]) /TO_TIMESTAMP (char [,fmt]):将CHAR或者VARCHAR类型的值转换为DATE/TIMESTAMP数据类型。
SELECT TO_DATE('2020/03/19','YYYY/MM/DD');
34.FROM_TZ(timestamp,timezone|tz_name])::将时间戳类型timestamp和时区类型timezone(或时区名称 tz_name)转化 为timestamp with timezone类型 。
35.TRUNC(date[, fmt])::将日期时间date截断到最接近格式参数fmt 指定的形式。若 fmt 缺省,则返 回当天日期。语法与ROUND 类似,但结果是直接截断,而不是四舍五入。
36.WEEK(date):返回指定日期属于所在年中的第几周。
37.WEEKDAY(date):返回指定日期的星期值。如果是星期日则返回0。
38.WEEKS_BETWEEN(date1,date2):返回两个日期之间相差周数。
39.YEAR(date):返回日期的年份值。
40.YEARS_BETWEEN(date1,date2):返回两个日期之间相差年数。
41.OVERLAPS (date1,date2,date3,date4):返回两两时间段是否存在重叠,date1 为 datetime 类型、date2 可以为 datetime 类型也可以为 interval 类型,date3 为 datetime 类型,date4 可为 datetime类型,也可以interval类型,判断(date1,date2),(date3,date4)有无 重叠。其中date2与date4类型必须一致,如果date2为interval year to month, date4也必须是此类型。结果类型为BIT,若两个时间段存在重叠返回1,不重叠返回0。
42.TO_CHAR(date[,fmt])::将日期数据类型DATE转换为一个在日期语法fmt中指定语法的VARCHAR类型字符串。
SELECT TO_CHAR(SYSDATE,'YYYY/MM/DD');
43.SYSTIMESTAMP(n):返回系统当前的时间戳,带数据库的时区信息。结果类型为TIMESTAMP WITH TIME ZONE。
44.WEEK(date, mode):根据指定的mode返回日期为所在年的第几周 。