日期时间函数的参数至少有一个是日期时间类型(TIME,DATE,TIMESTAMP),返回值一般为日期时间类型和数值类型。由于 DM 支持儒略历,并考虑了历史上从儒略历转换至格里高利日期时的异常,不计算’1582-10-05’到’1582-10-14’之间的 10 天,因此日期时间函数也不计算这 10 天。
函数 ADD_DAYS
?
语法:ADD_DAYS( date, n)
?
功能:返回日期 date 加上相应天数 n 后的日期值。n 可以是任意整数,date 是日期
类型(DATE)或时间戳类型(TIMESTAMP),返回值为日期类型(DATE)。
例:
SELECT ADD_DAYS( DATE ‘2000-01-12’,1);
查询结果为:2000-01-13
函数 ADD_MONTHS
语法:ADD_MONTHS(date,n)
功能:返回日期 date 加上 n 个月的日期时间值。n 可以是任意整数,date 是日期类型(DATE)或时间戳类型(TIMESTAMP),返回类型固定为日期类型(DATE)。如果相加之后的结果日期中月份所包含的天数比 date 日期中的日分量要少,那么结果日期的该月最后一天被返回。
例:
SELECT ADD_MONTHS(DATE ‘2000-01-31’,1);
查询结果为:2000-02-29
SELECT ADD_MONTHS(TIMESTAMP ‘2000-01-31 20:00:00’,1);
查询结果为:2000-02-29
函数 ADD_WEEKS
语法:ADD_WEEKS( date, n)
功能:返回日期 date 加上相应星期数 n 后的日期值。n 可以是任意整数,date 是日
期类型(DATE)或时间戳类型(TIMESTAMP),返回类型固定为日期类型(DATE)。
例:
SELECT ADD_WEEKS( DATE ‘2000-01-12’,1);
查询结果为: 2000-01-19
函数 CURDATE
语法:CURDATE()
功能:返回当前日期值,结果类型为 DATE。
例
SELECT CURDATE();
查询结果为:执行此查询当天日期,如 2020-02-27
函数 CURTIME
语法:CURTIME(n)
功能:返回当前时间值,结果类型为 TIME WITH TIME ZONE。
参数:n:指定毫秒的精度。取值范围 0-6,默认为 6。
例:
SELECT CURTIME();
查询结果为:执行此查询的当前时间,如 14:53:54.859000 +8:00
函数 DATEDIFF/BIGDATEDIFF
语法:DATEDIFF(datepart,date1,date2)
功能:返回跨两个指定日期的日期和时间边界数。datepart 取值见表 8.3.1。
注:当结果超出整数值范围,DATEDIFF 产生错误。对于毫秒 MILLISECOND,最大
数是 24 天 20 小时 31 分钟零 23.647 秒。对于秒,最大数