DATE_ADD(startdate, days) işlevi, startdate tarihinden days gün sonrasına karşılık gelen DATE değerini döndürür.
Sınırlamalar
Bu işlev yalnızca Ververica Runtime (VVR) 3.0.0 veya sonraki sürümleri kullanan Realtime Compute for Apache Flink ortamlarında desteklenir.
Söz dizimi
DATE DATE_ADD(VARCHAR startdate, INT days)
DATE DATE_ADD(TIMESTAMP time, INT days)
Parametreler
| Parametre | Veri türü | Açıklama |
|---|---|---|
startdate |
VARCHAR | yyyy-MM-dd veya yyyy-MM-dd HH:mm:ss biçiminde bir tarih dizesi. |
time |
TIMESTAMP | Bir zaman damgası değeri. |
days |
INT | Eklenecek gün sayısı. |
Not
Herhangi bir giriş parametresi NULL ise veya bir ayrıştırma hatası oluşursa işlev NULL döndürür.
Dönüş değeri
DATE — Giriş tarihinden days gün sonrasına karşılık gelen tarih.
Örnekler
Aşağıdaki örneklerde bu test verileri kullanılmıştır:
| datetime1 (VARCHAR) | nullstr (VARCHAR) |
|---|---|
| 2017-09-15 00:00:00 | NULL |
Test deyimleri
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;
Sonuçlar
| var1 (DATE) | var2 (DATE) | var3 (DATE) |
|---|---|---|
| 2017-10-15 | 2017-10-15 | NULL |
Önemli gözlemler:
Girişin VARCHAR mı yoksa TIMESTAMP mi olduğundan bağımsız olarak, 15 Eylül + 30 gün = 15 Ekim olduğu için
var1vevar2her ikisi de2017-10-15değerini üretir.Giriş
nullstrNULL olduğu içinvar3değeri NULL'dur.