Belirtilen sayıda günü bir tarihten çıkarır ve sonucu bir DATE değeri olarak döndürür.
Sınırlamalar
Apache Flink için Realtime Compute içinde Ververica Runtime (VVR) 3.0.0 veya sonraki bir sürüm gerekir.
Söz dizimi
DATE DATE_SUB(VARCHAR startdate, INT days)
DATE DATE_SUB(TIMESTAMP time, INT days)
Parametreler
| Parametre | Veri türü | Açıklama |
|---|---|---|
startdate |
VARCHAR | Başlangıç tarihi. Kabul edilen biçimler: yyyy-MM-dd ve yyyy-MM-dd HH:mm:ss. |
time |
TIMESTAMP | Başlangıç zaman damgası. |
days |
INT | Çıkarılacak 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.
Örnek
Aşağıdaki örnekte üç farklı girdiden 30 gün çıkarılır: bir VARCHAR tarih sütunu, bir TIMESTAMP sabit değeri ve bir NULL değeri.
Test verileri
| date1 (VARCHAR) | nullstr (VARCHAR) |
|---|---|
| 2017-10-15 | NULL |
Test deyimi
SELECT DATE_SUB(date1, 30) AS var1,
DATE_SUB(TIMESTAMP '2017-10-15 23:00:00', 30) AS var2,
DATE_SUB(nullstr, 30) AS var3
FROM T1;
Sonuç
| var1 (DATE) | var2 (DATE) | var3 (DATE) |
|---|---|---|
| 2017-09-15 | 2017-09-15 | NULL |
Hem date1 (bir VARCHAR tarihi) hem de TIMESTAMP sabit değeri aynı sonucu verir. Giriş NULL olduğu için nullstr değeri NULL döndürür.