Problem:
Chcesz przekonwertować ciąg na datę w zestawie wyników.
Przykład:
Nasza baza danych zawiera tabelę o nazwie accounts_creation
, z polem o nazwie company_id
typu danych NUMBER i dwa pola NVARCHAR2 o nazwie company_name
i registration_date
jak pokazano poniżej.
identyfikator_firmy | nazwa_firmy | data_rejestracji |
---|---|---|
1 | Decathlon | 5 stycznia 1978 |
2 | Vestela | 21 września 1991 |
3 | Biała Kaplica | 18 października 2017 |
4 | Srebrny puchar | 4 grudnia 2021 |
5 | JohnnyBros | 28 sierpnia 1984 |
Chcemy przekonwertować kolumnę ciągu registration_date
do kolumny daty.
Rozwiązanie:
Użyjemy TO_DATE()
funkcjonować. Oto zapytanie:
SELECT company_id, company_name, TO_DATE(registration_date,'DD Mon YEAR') AS registration_date FROM accounts_creation;
Oto wynik zapytania:
identyfikator_firmy | nazwa_firmy | data_rejestracji |
---|---|---|
1 | Decathlon | 05-sty-78 |
2 | Vestela | 21 września 91 |
3 | Biała Kaplica | 18-październik-17 |
4 | Srebrny puchar | 4-DEC-21 |
5 | JohnnyBros | 28-sierp-84 |
Dyskusja:
TO_DATE(string, format)
funkcja w Oracle konwertuje wartość ciągu na datę. Funkcja przyjmuje dwa argumenty:ciąg znaków do konwersji i format daty. W specyfikacji formatu DD
oznacza dzień miesiąca (1-31), MON oznacza skróconą nazwę miesiąca, a YEAR
oznacza rok 4-cyfrowy. Możesz przeczytać więcej o dostępnych formatach w dokumentacji Oracle SQL tutaj.