sql >> Databáze >  >> RDS >> Oracle

Jak získat datum z řetězce v Oracle

Problém:

Chcete převést řetězec na datum v sadě výsledků.

Příklad:

Naše databáze obsahuje tabulku s názvem accounts_creation s polem s názvem company_id datového typu NUMBER a dvě pole NVARCHAR2 s názvem company_name a registration_date jak je uvedeno níže.

id_společnosti název_společnosti registrační_datum
1 Decathlon 5. ledna 1978
2 Vestel 21. září 1991
3 Bílá kaple 18. října 2017
4 Stříbrný pohár 4. prosince 2021
5 JohnnyBros 28. srpna 1984

Chceme převést sloupec řetězce registration_date do sloupce data.

Řešení:

Použijeme TO_DATE() funkce. Zde je dotaz:

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

Zde je výsledek dotazu:

id_společnosti název_společnosti registrační_datum
1 Decathlon 05-JAN-78
2 Vestel 21-SEP-91
3 Bílá kaple 18-17. října
4 Stříbrný pohár 4-DEC-21
5 JohnnyBros 28-AUG-84

Diskuse:

TO_DATE(string, format) funkce v Oracle převádí hodnotu řetězce na datum. Funkce používá dva argumenty:řetězec, který se má převést, a formát data. Ve specifikaci formátu DD znamená den v měsíci (1-31), MON znamená zkrácený název měsíce a YEAR značí 4místný rok. Více o dostupných formátech si můžete přečíst v dokumentaci Oracle SQL zde.


  1. Instalace klienta Oracle Warehouse Builder 11g R2

  2. Vrácení uložených procedur a funkcí v databázi SQL Server:ROUTINES (příklady T-SQL)

  3. LEFT JOIN pouze první řada

  4. Mysql::Error:Zadaný klíč byl příliš dlouhý; maximální délka klíče je 1000 bajtů