Soustrait un nombre de jours spécifié à une date et renvoie le résultat sous forme de valeur DATE.
Limites
Nécessite Ververica Runtime (VVR) 3.0.0 ou version ultérieure dans Realtime Compute for Apache Flink.
Syntaxe
DATE DATE_SUB(VARCHAR startdate, INT days)
DATE DATE_SUB(TIMESTAMP time, INT days)
Paramètres
| Paramètre | Type de données | Description |
|---|---|---|
startdate |
VARCHAR | Date de début. Formats acceptés : yyyy-MM-dd et yyyy-MM-dd HH:mm:ss. |
time |
TIMESTAMP | Horodatage de début. |
days |
INT | Nombre de jours à soustraire. |
Remarque
Si l'un des paramètres d'entrée est
NULL
ou si une erreur d'analyse se produit, la fonction renvoie
NULL
.
Exemple
L'exemple suivant soustrait 30 jours à trois entrées différentes : une colonne de date VARCHAR, un littéral TIMESTAMP et une valeur NULL.
Données de test
| date1 (VARCHAR) | nullstr (VARCHAR) |
|---|---|
| 2017-10-15 | NULL |
Instruction de test
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;
Résultat
| var1 (DATE) | var2 (DATE) | var3 (DATE) |
|---|---|---|
| 2017-09-15 | 2017-09-15 | NULL |
Les paramètres date1 (date VARCHAR) et le littéral TIMESTAMP produisent le même résultat. Le paramètre nullstr renvoie NULL car l'entrée est NULL.