Convertit une valeur de date INT ou VARCHAR au type de données DATE. Si le paramètre format est omis, l'entrée doit correspondre au format par défaut yyyy-MM-dd.
Syntaxe
Date TO_DATE(INT time)
Date TO_DATE(VARCHAR date)
Date TO_DATE(VARCHAR date, VARCHAR format)
Paramètres
| Paramètre | Type de données | Description |
|---|---|---|
time |
INT | Nombre de jours écoulés depuis l'époque (1er janvier 1970, 00:00:00 UTC). Par exemple, la valeur 200 correspond à la date 1970-07-20. Remarque
Ce comportement s'applique uniquement à Ververica Runtime (VVR) version 8.0.6 et ultérieures. Pour les versions de VVR antérieures à la 8.0.6, la valeur est implicitement convertie en STRING. |
date |
VARCHAR | Chaîne de caractères représentant une date. Le format par défaut est yyyy-MM-dd. Exemple : '2017-09-15'. |
format |
VARCHAR | Modèle de format de date personnalisé. Exemples : 'yyyyMMdd' ou 'MMddyyyy'. |
Remarques d'utilisation
-
Le comportement du paramètre
time(INT) varie selon la version de VVR :VVR 8.0.6 et versions ultérieures :
timeest interprété comme le nombre de jours écoulés depuis l'époque (1er janvier 1970, 00:00:00 UTC).VVR antérieur à la version 8.0.6 :
timeest implicitement converti en STRING avant traitement.
Lorsque le paramètre
formatest omis avec une entrée VARCHAR, le format par défautyyyy-MM-dds'applique. Si les données en amont utilisent un format différent, tel que MySQL DATETIME (yyyy-MM-dd HH:mm:ss), spécifiez explicitement le paramètreformatavec le format réel. Dans le cas contraire, l'analyse échoue et renvoie un résultat incorrect, tel que1970-01-01.
Exemples
Les exemples suivants utilisent la table T1 comme source de données.
Table T1
| date1 (INT) | date2 (VARCHAR) | date3 (VARCHAR) | date4 (VARCHAR) | date5 (VARCHAR) |
|---|---|---|---|---|
| 200 | 2017-09-15 | 20170915 | 09152017 | 092017 |
Convertir une entrée INT
Transmettez un entier représentant le nombre de jours écoulés depuis l'époque.
SELECT TO_DATE(date1) AS var1
FROM T1;
| var1 (DATE) |
|---|
| 1970-07-20 (VVR 8.0.6 et versions ultérieures) |
| 0200-01-01 (VVR antérieur à la version 8.0.6) |
Convertir une entrée VARCHAR en utilisant le format par défaut
Si l'entrée est déjà au format yyyy-MM-dd, omettez le paramètre format.
SELECT TO_DATE(date2) AS var2
FROM T1;
| var2 (DATE) |
|---|
| 2017-09-15 |
Convertir une entrée VARCHAR en utilisant un format personnalisé
Indiquez un modèle format qui correspond à la structure de la chaîne d'entrée.
SELECT TO_DATE(date3, 'yyyyMMdd') AS var3,
TO_DATE(date4, 'MMddyyyy') AS var4,
TO_DATE(date5, 'MMyyyy') AS var5
FROM T1;
| var3 (DATE) | var4 (DATE) | var5 (DATE) |
|---|---|---|
| 2017-09-15 | 2017-09-15 | 2017-09-01 |
Étapes suivantes
TO_TIMESTAMP_TZ : Convertit une valeur de date VARCHAR en TIMESTAMP selon un fuseau horaire spécifié.
DATE_ADD : Renvoie une date après ajout d'un nombre spécifié de jours.