DM日期时间函数

时间:2024-03-17 08:14:49

1.ADD_DAYS(data,n):返回日期 date加上相应天数n后的日期值。n可以是任意整数,date是日期类型(DATE)或时间戳类型(TIMESTAMP),返回值为日期类型(DATE)。

select ADD_DAYS(date '2020-03-30',2);

DM日期时间函数

2.ADD_MONTHS(date,n):返回日期 date加上n个月的日期时间值。n可以是任意整数,date是日期类 型(DATE)或时间戳类型(TIMESTAMP),返回类型固定为日期类型(DATE)。如果相加之后的结果日期中月份所包含的天数比date日期中的日分量要少,那么结果日期的该月最后一 天被返回。

select ADD_MONTHS(date '2020-01-31',1);

DM日期时间函数

3.ADD_WEEKS(date,n):返回日期 date加上相应星期数n后的日期值。n可以是任意整数,date 是日 期类型(DATE)或时间戳类型(TIMESTAMP),返回类型固定为日期类型(DATE)。  

select ADD_WEEKS(date '2020-3-19',1);

DM日期时间函数 

4.CURDATE()/CURRENT_DATE:返回当前的日期。

5. CURTIME()/CURRENT_TIME/LOCALTIME (n):返回当前时间。

select CURTIME(); 

DM日期时间函数

6.CURRENT_TIMESTAMP(n):返回当前带会话时区的时间戳,结果类型为TIMESTAMP WITH TIME ZONE。 参数:n:指定毫秒的精度。取值范围0-6,默认为6。 

SELECT   CURRENT_TIMESTAMP();

DM日期时间函数 

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');

DM日期时间函数

11.DAYOFMONTH(date):返回日期是当月的第几天。

select DAYOFMONTH(date '2020-03-19');

DM日期时间函数 

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();

DM日期时间函数

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');

DM日期时间函数

27. QUARTER(date):返回日期在所处年中的季度数。 

select QUARTER(date '2020-03-19');

DM日期时间函数

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'); 

DM日期时间函数

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');

DM日期时间函数

43.SYSTIMESTAMP(n):返回系统当前的时间戳,带数据库的时区信息。结果类型为TIMESTAMP WITH TIME ZONE。 

44.WEEK(date, mode):根据指定的mode返回日期为所在年的第几周 。

DM日期时间函数