Oracle
 sql >> Database >  >> RDS >> Oracle

Come ottenere la data da una stringa in Oracle

Problema:

Vorresti convertire una stringa in una data nel tuo set di risultati.

Esempio:

Il nostro database ha una tabella denominata accounts_creation , con un campo denominato company_id del tipo di dati NUMBER e due campi NVARCHAR2 denominati company_name e registration_date come mostrato di seguito.

company_id nome_azienda data_registrazione
1 Decathlon 5 gennaio 1978
2 Vestello 21 settembre 1991
3 Cappella Bianca 18 ottobre 2017
4 Coppa d'argento 4 dicembre 2021
5 Johnny Bros 28 agosto 1984

Vogliamo convertire la colonna della stringa registration_date in una colonna di data.

Soluzione:

Useremo il TO_DATE() funzione. Ecco la domanda:

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

Ecco il risultato della query:

company_id nome_azienda data_registrazione
1 Decathlon 05-GEN-78
2 Vestello 21-SEP-91
3 Cappella Bianca 18-OTTOBRE-17
4 Coppa d'argento 4-DIC-21
5 Johnny Bros 28-AGOSTO-84

Discussione:

Il TO_DATE(string, format) La funzione in Oracle converte un valore stringa in una data. La funzione accetta due argomenti:la stringa da convertire e il formato della data. Nella specifica del formato, DD indica il giorno del mese (1-31), MON indica il nome abbreviato del mese e YEAR indica l'anno a 4 cifre. Puoi leggere ulteriori informazioni sui formati disponibili nella documentazione di Oracle SQL qui.