Oracle
 sql >> Base de données >  >> RDS >> Oracle

Comment obtenir la date d'une chaîne dans Oracle

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.