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.