Oracle
 sql >> Datenbank >  >> RDS >> Oracle

So erhalten Sie das Datum aus einer Zeichenfolge in Oracle

Problem:

Sie möchten einen String in Ihrem Ergebnissatz in ein Datum umwandeln.

Beispiel:

Unsere Datenbank hat eine Tabelle namens accounts_creation , mit einem Feld namens company_id vom Datentyp NUMBER und zwei NVARCHAR2-Feldern namens company_name und registration_date wie unten gezeigt.

Firmen-ID Unternehmensname Registrierungsdatum
1 Zehnkampf 5. Januar 1978
2 Vestel 21. September 1991
3 Weiße Kapelle 18. Oktober 2017
4 Silberpokal 4. Dezember 2021
5 JohnnyBros 28. August 1984

Wir wollen die String-Spalte registration_date umwandeln in eine Datumsspalte.

Lösung:

Wir verwenden TO_DATE() Funktion. Hier ist die Abfrage:

SELECT company_id,
   company_name,
   TO_DATE(registration_date,'DD Mon YEAR') AS registration_date
FROM accounts_creation;

Hier ist das Ergebnis der Abfrage:

Firmen-ID Unternehmensname Registrierungsdatum
1 Zehnkampf 05-JAN-78
2 Vestel 21-SEP-91
3 Weiße Kapelle 18-OKT-17
4 Silberpokal 4. DEZ. 21
5 JohnnyBros 28-AUG-84

Diskussion:

Der TO_DATE(string, format) Funktion in Oracle konvertiert einen Zeichenfolgenwert in ein Datum. Die Funktion nimmt zwei Argumente entgegen:die zu konvertierende Zeichenfolge und das Datumsformat. In der Formatangabe DD bezeichnet den Tag des Monats (1-31), MON bezeichnet den abgekürzten Namen des Monats und YEAR bedeutet die 4-stellige Jahreszahl. Weitere Informationen zu den verfügbaren Formaten finden Sie in der Oracle SQL-Dokumentation hier.