dateadd
dateadd函数用于按照指定的单位datepart和幅度delta修改date的值。
如需要获取当前日期基础上指定变动幅度的日期,可结合current_date或getdate函数共同使用。
命令格式
dateadd(string date, bigint delta, string datepart)
参数说明
| 
        参数  | 
      
        是否必选  | 
      
        参数类型  | 
      
        说明  | 
     
|---|---|---|---|
| 
        date  | 
      
        是  | 
      
        DATE 或 STRING  | 
      
        代表起始日期。 支持以下格式: 
  | 
     
| 
        delta  | 
      
        是  | 
      
        BIGINT  | 
      
        代表修改幅度。  | 
     
| 
        datepart  | 
      
        是  | 
      
        STRING  | 
      
        代表修改的时间单位。 参数datepart支持扩展的日期格式:年-year、月-month或-mon、日-day和小时-hour。 
  | 
     
返回值说明
返回STRING类型的日期值。
 
   - date非DATE或STRING类型时,返回报错,错误信息:data type mismatch。
 - date为DATE或STRING类型,但不符合日期值的入参格式时,返回NULL。
 - date值为NULL时,返回NULL。
 - delta或datepart值为NULL时,返回NULL。
 
示例代码
返回2023-08-15 17:00:00。加1天。
select dateadd( '2023-08-14 17:00:00', 1, 'dd');
返回2025-04-14 17:00:00。加20个月,月份溢出,年份加1。
select dateadd('2023-08-14 17:00:00', 20, 'mm');
  返回2023-09-14 17:00:00。
select dateadd('2023-08-14 17:00:00', 1, 'mm');
  返回2023-09-14。
select dateadd('2023-08-14', 1, 'mm');
  假设当前时间为2023-08-14 17:00:00,返回2023-08-13 17:00:00。
select dateadd(getdate(),-1,'dd');
返回NULL。
select dateadd(date '2023-08-14', 1, null);