SUBDATE
功能描述
SUBDATE函数用于将给定日期减去时间值(作为间隔)。
注意事项
该功能仅在数据库兼容模式为MySQL时能够使用(即创建DB时DBCOMPATIBILITY='B'),在其他数据库兼容模式下不能使用该特性。
支持版本:
Vastbase G100 V2.2 Build 10(Patch No.5)及以上补丁版本。
Vastbase G100 V2.2 Build 11及以上版本。
语法格式
SUBDATE(date, INTERVAL expr unit)
SUBDATE(date, days)
参数说明
date
合法的日期表达式。
expr
要减去的时间间隔值。
当days或expr负数时,返回值增加对应值。
当days为小数时,按照四舍五入进行天数的增减。
unit
减去的时间间隔单位,取值范围如下表所示:
unit值 含义 SECOND 秒 MINUTE 分 HOUR 时 DAY 天 MONTH 月 YEAR 年 MINUTE TO SECOND 分_秒 HOUR TO MINUTE 时_分 DAY TO SECOND 天_秒 DAY TO MINUTE 天_分 DAY TO HOUR 天_时 days
要减去的天数。
取值范围:正数、负数、0、小数。
示例
示例1:interval为只包含月份。
select subdate('2022-5-31 11:12:13.1234567',INTERVAL '11' MONTH);
结果返回如下:
subdate('2022-5-31 11:12:13.1234567',INTERVAL '11' MONTH)
-----------------------------------------------------------
2021-06-30 11:12:13.123457
(1 row)
示例2:interval包含天、小时。
select subdate('2022-5-31 11:12:13.1234567',INTERVAL '11 3' DAY TO HOUR);
结果返回如下:
subdate('2022-5-31 11:12:13.1234567',INTERVAL '11 3' DAY TO HOUR)
-------------------------------------------------------------------
2022-05-20 08:12:13.123457
(1 row)
示例3:expr为负数。
select subdate('2022-5-31 11:12:13.1234567',INTERVAL '-11' HOUR);
结果返回如下:
subdate('2022-5-31 11:12:13.1234567',INTERVAL '-11' HOUR)
-----------------------------------------------------------
2022-05-31 22:12:13.123457
(1 row)
示例4:使用SUBDATE(date,days)语法,days为小数。
select subdate(date '2022-5-31', -2.8);
结果返回如下:
subdate(date '2022-5-31', -2.8)
---------------------------------
2022-06-03
(1 row)