
# DATE_SUB
#### 语法
```
DATE DATE_SUB(VARCHAR startdate, INT days)
DATE DATE_SUB(TIMESTAMP time, INT days)
```
#### 描述
DATE_SUB函数用于返回指定日期减去目标天数后的日期。当目标天数为负数时，相当于增加对应天数。
#### 约束与限制
本章节仅适用于MRS 3.5.0及之后版本。
#### 参数说明
- 指定日期：数据类型为TIMESTAMP或者STRING（格式为：yyyy-MM-dd HH:mm:ss），支持参数为NULL的特殊情况。
- 目标天数：数据类型为INT。
- 返回日期：指定日期减去目标天数后的日期，数据类型为STRING。
 
#### 示例
```
CREATE TABLE source (
  time1 TIMESTAMP
) WITH (
  'connector' = 'datagen',
  'rows-per-second' = '1'
);
create table Sink (
  date1 string,
  date2 string,
  date3 string
) with ('connector' = 'print');
INSERT into
  Sink
select
  DATE_SUB(time1,30) as date1,
  DATE_SUB('2017-09-15 00:00:00', 30) as date2,
  DATE_SUB(cast(null as timestamp),30) as date3
FROM source
```
表1返回结果 
| **date1 (string)** | **date2 (string)** | **date3 (string)** |
|:---|:---|:---|
| 2024-04-29         | 2017-08-16         | null               |
   
