See õpetus näitab, kuidas kasutada funktsiooni to_date, et teisendada antud sisendstring kuupäeva andmetüübiks.
Orale to_date() funktsioon
Oracle'i funktsioon to_date() võimaldab teil antud stringi kuupäeva literaali üle kanda kuupäevatüüpi.
Funktsiooni süntaks:
TO_DATE(char [, fmt [, 'nlsparam'] ])
Funktsioon aktsepteerib kolme peamist argumenti:
- Esimene argument on char, mis määrab sisestatud kuupäeva stringi. Sisendväärtus võib olla CHAR, VARCHAR2, NCHAR või NVARCHAR2.
- fmt – teine parameeter on fmt. See parameeter määrab sisendväärtuse kuupäeva- ja ajamudeli vormingu. Saate selle parameetri vahele jätta, kui sisendväärtus järgib DD-MON-YY vaikevormingut, näiteks 01-JAN-2022.
Kui vorminguks on Julian, mis on esitatud kui J, siis peab sisendväärtus olema täisarvu tüüpi.
Sisendväärtuse saab hõlmata järgmistes vormingutes:
- nlsparam – Lõpuks kasutatakse parameetrit nlsparam stringi andmete keele ja kuu määramiseks. Vorming on NLS_DATE_FORMAT = keel. Oracle kasutab teie seansi vaikekeelt.
Funktsiooni kasutamise näide
Järgmised on näited funktsiooni to_date kohta Oracle'i andmebaasis:
Näide 1 – põhikonversioon
Allolev näide demonstreerib, kuidas kasutada funktsiooni to_date antud märgistringi kuupäevaks teisendamiseks.
select to_date('10. jaanuar 2023', 'kuu dd, YYYY')kahest;
Sel juhul teisendame antud kuupäevastringi kuupäevatüübiks, kasutades vormingut Kuu dd, YYYY.
Saadud väärtus on näidatud:
TO_DATE('JAANUAR102023','KUUSI,AAAA')2023-01-10
Näide 2 – teisenda kuupäev ja kellaaeg kuupäevaks
Teine näide illustreerib, kuidas antud märgistring kuupäevaks teisendada.
select to_date('10. jaanuar 2023, 1:03', 'kuu dd, YYYY, HH:MI P.M.)
kahest;[/cc]
Sel juhul peame määrama ajavorminguks HH:MI P.M.
Saadud väljund on järgmine:
TO_DATE('JAANUAR 10,2023,1:03','KUUSI,AAAA,HH:MIP.KM')2023-01-10 01:03:00
Näide 3 – keeleparameetri määramine
Vaadake allolevat näidet, mis näitab, kuidas kasutada funktsiooni to_date parameetriga nls_date_language.
select to_date('10. jaanuar 2023, 1:03', 'kuu dd, YYYY, HH:MI P.M.', 'nls_date_language=Ameerika')kahest;
See peaks tagastama väärtuse:
2023-01-10 01:03:00Kui muudame seansi keelt järgmiselt:
alter session set nls_territory = 'Austraalia';Teisendage aeg.
select to_date('10. jaanuar 2023, 1:03', 'kuu dd, YYYY, HH:MI P.M.', 'nls_date_language=Ameerika')kahest;
Järeldus
Selles postituses uurime funktsiooni to_date kasutamist Oracle'i andmebaasis, et teisendada antud sisestuskuupäev sõnasõnaliseks kuupäevatüübiks.