Problème :
Vous souhaitez convertir une chaîne en une date dans votre jeu de résultats.
Exemple :
Notre base de données a une table nommée accounts_creation
, avec un champ nommé company_id
du type de données NUMBER et deux champs NVARCHAR2 nommés company_name
et registration_date
comme indiqué ci-dessous.
id_entreprise | nom_entreprise | date_inscription |
---|---|---|
1 | Décathlon | 5 janvier 1978 |
2 | Vestel | 21 septembre 1991 |
3 | Chapelle Blanche | 18 octobre 2017 |
4 | Coupe d'argent | 4 décembre 2021 |
5 | Johnny Bros | 28 août 1984 |
Nous voulons convertir la colonne de chaîne registration_date
dans une colonne de date.
Solution :
Nous utiliserons le TO_DATE()
une fonction. Voici la requête :
SELECT company_id, company_name, TO_DATE(registration_date,'DD Mon YEAR') AS registration_date FROM accounts_creation;
Voici le résultat de la requête :
id_entreprise | nom_entreprise | date_inscription |
---|---|---|
1 | Décathlon | 05-JAN-78 |
2 | Vestel | 21-SEP-91 |
3 | Chapelle Blanche | 18-OCT-17 |
4 | Coupe d'argent | 4-DEC-21 |
5 | Johnny Bros | 28-AUG-84 |
Discussion :
Le TO_DATE(string, format)
fonction dans Oracle convertit une valeur de chaîne en une date. La fonction prend deux arguments :la chaîne à convertir et le format de date. Dans la spécification de format, DD
signifie le jour du mois (1-31), MON signifie le nom abrégé du mois, et YEAR
signifie l'année à 4 chiffres. Vous pouvez en savoir plus sur les formats disponibles dans la documentation Oracle SQL ici.