TIMESTAMPADD
语法:
TIMESTAMPADD(unit, interval,datetime)
功能:TIMESTAMPADD函数用于在一个日期时间上加上指定单位的时间间隔。
其中时间单位unit可以取值:MICROSECOND,SECOND,MINUTE,HOUR,DAY,WEEK,MONTH,QUARTER,YEAR,SQL_TSI_DAY,SQL_TSI_FRAC_SECOND,SQL_TSI_HOUR,SQL_TSI_MINUTE,SQL_TSI_MONTH,SQL_TSI_QUARTER,SQL_TSI_SECOND,SQL_TSI_WEEK,SQL_TSI_YEAR。返回值是timestamp。
说明:
入参interval必须是可以转为NUMBER的表达式。
入参datetime必须符合时间格式,取值范围[0001-01-01 00:00:00,9999-12-31 23:59:59]。
返回值也应在范围 [0001-01-01 00:00:00, 9999-12-31 23:59:59]内。
示例:
返回指定日期增加两周后的时间。
SELECT TIMESTAMPADD(WEEK,2,'2018-10-04');
TIMESTAMPADD(WEEK,2,'2018-10-04')
---------------------------------
2018-10-18 00:00:00.000000
1 rows fetched.
TIMESTAMPDIFF
语法:
TIMESTAMPDIFF(unit,begin,end)
功能:TIMESTAMPDIFF函数返回两个指定日期begin和end之间的时间间隔。时间间隔单位由unit指定,返回值类型是NUMBER。
说明:
begin和end的数据类型是DATE或者TIMESTAMP,即日期或时间表达式。取值范围为:[0001-01-01 00:00:00,9999-12-31 23:59:59]。
unit参数用于指定时间间隔的单位,取值范围有:YEAR,QUARTER,MONTH,WEEK,DAY,HOUR,MINUTE,SECOND,MICROSECOND,SQL_TSI_DAY,SQL_TSI_FRAC_SECOND,SQL_TSI_HOUR,SQL_TSI_MINUTE,SQL_TSI_MONTH,SQL_TSI_QUARTER,SQL_TSI_SECOND,SQL_TSI_WEEK,SQL_TSI_YEAR。
示例:
返回两个指定日期相差的天数。
SELECT TIMESTAMPDIFF(DAY, '2018-03-20 23:59:00', '2017-03-22 00:00:00');
TIMESTAMPDIFF(DAY, '2018-03-20 23:59:00', '2017-03-22 00:00:00')
----------------------------------------------------------------
-363
1 rows fetched.