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.