DATE_ADD(startdate, days) returns the DATE that is days days after startdate.
Limitations
Supported only in Realtime Compute for Apache Flink that uses Ververica Runtime (VVR) 3.0.0 or later.
Syntax
DATE DATE_ADD(VARCHAR startdate, INT days)
DATE DATE_ADD(TIMESTAMP time, INT days)Parameters
| Parameter | Data type | Description |
|---|---|---|
startdate | VARCHAR | A date string in yyyy-MM-dd or yyyy-MM-dd HH:mm:ss format. |
time | TIMESTAMP | A timestamp value. |
days | INT | The number of days to add. |
Note
If any input parameter is NULL or a parsing error occurs, the function returns NULL.
Returns
DATE — the date that is days days after the input date.
Examples
The following examples use this test data:
| datetime1 (VARCHAR) | nullstr (VARCHAR) |
|---|---|
| 2017-09-15 00:00:00 | NULL |
Test statements
SELECT
DATE_ADD(datetime1, 30) AS var1, -- VARCHAR input: 2017-09-15 + 30 days
DATE_ADD(TIMESTAMP '2017-09-15 23:00:00', 30) AS var2, -- TIMESTAMP input: date portion + 30 days
DATE_ADD(nullstr, 30) AS var3 -- NULL input: returns NULL
FROM T1;Results
| var1 (DATE) | var2 (DATE) | var3 (DATE) |
|---|---|---|
| 2017-10-15 | 2017-10-15 | NULL |
Key observations:
var1andvar2both produce2017-10-15because September 15 + 30 days = October 15, regardless of whether the input is VARCHAR or TIMESTAMP.var3is NULL because the inputnullstris NULL.