date_sub
date_sub函数按照days幅度递减startdate日期的天数。
如需要获取当前日期基础上指定变动幅度的日期,可结合current_date或getdate函数共同使用。
请注意date_sub函数与date_add函数逻辑反。
命令格式
date_sub(string startdate, int days)
参数说明
参数 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
start_date |
是 |
DATE 或 STRING |
代表起始日期。 支持以下格式:
|
days |
是 |
BIGINT |
代表需要减少的天数。
|
返回值说明
返回DATE类型的日期值。
- startdate非DATE或STRING类型时,返回报错,错误信息:data type mismatch。
- startdate为DATE或STRING类型,但不符合日期值的入参格式时,返回NULL。
- date值为NULL时,返回NULL。
- format值为NULL时,返回NULL。
示例代码
返回2023-08-12。减2天。
select date_sub('2023-08-14 17:00:00', 2);
返回2023-08-15。增1天。
select date_sub(date'2023-08-14', -1);
假设当前时间为2023-08-14 17:00:00,返回2023-08-13。
select date_sub(getdate(),1);
返回NULL。
select date_sub('2023-08-14 17:00:00', null);