Šioje pamokoje bus parodyta, kaip naudoti funkciją to_date, norint konvertuoti nurodytą įvesties eilutę į datos duomenų tipą.
Orale to_date() funkcija
„Oracle“ funkcija to_date() leidžia perkelti tam tikrą eilutės datos literalą į datos tipą.
Funkcijos sintaksė:
TO_DATE(char [, fmt [, 'nlsparam' ] ])
Funkcija priima tris pagrindinius argumentus:
- Pirmasis argumentas yra simbolis, kuris apibrėžia įvesties datos eilutę. Įvesties reikšmė gali būti CHAR, VARCHAR2, NCHAR arba NVARCHAR2.
- fmt – antrasis parametras yra fmt. Šis parametras apibrėžia įvesties reikšmės datos ir laiko modelio formatą. Galite praleisti šį parametrą, jei įvesties reikšmė atitinka numatytąjį DD-MON-YY formatą, pavyzdžiui, 01-JAN-2022.
Jei formatas yra Julian, vaizduojamas kaip J, tada įvesties reikšmė turi būti sveikojo skaičiaus tipo.
Įvesties reikšmė gali būti įtraukta į šiuos formatus:
- nlsparam – Galiausiai parametras nlsparam naudojamas duomenų kalbai ir mėnesiui nurodyti eilutėje. Formatas yra NLS_DATE_FORMAT = kalba. „Oracle“ pagal numatytuosius nustatymus naudos numatytąją jūsų seanso kalbą.
Funkcijos naudojimo pavyzdys
Toliau pateikiami „Oracle“ duomenų bazės funkcijos to_date pavyzdžiai:
1 pavyzdys – pagrindinė konversija
Toliau pateiktame pavyzdyje parodyta, kaip naudoti funkciją to_date, norint konvertuoti nurodytą simbolių eilutę į datą.
select to_date('2023 m. sausio 10 d.', 'Mėnuo dd, YYYY')iš dvigubo;
Tokiu atveju mes konvertuojame nurodytą datos eilutę į datos tipą naudodami formatą Mėnuo dd, YYYY.
Gauta vertė rodoma:
TO_DATE('SAUSIS102023','MONTHDD,YYYY')2023-01-10
2 pavyzdys – konvertuoti datą ir laiką į datos tipą
Antrasis pavyzdys iliustruoja, kaip konvertuoti nurodytą simbolių eilutę į datą.
select to_date('2023 m. sausio 10 d., 1:03', 'Mėnuo dd, YYYY, HH:MI P.M.)
iš dvigubo;[/cc]
Šiuo atveju turime nurodyti laiko formatą kaip HH:MI P.M.
Gauta išvestis yra tokia, kaip parodyta:
TO_DATE('SAUSIO 10,2023,1:03','MONTHDD,YYYY,HH:MIP.M.')2023-01-10 01:03:00
3 pavyzdys – Kalbos parametro nurodymas
Apsvarstykite toliau pateiktą pavyzdį, kuriame parodyta, kaip naudoti funkciją to_date su parametru nls_date_language.
select to_date('2023 m. sausio 10 d., 1:03', 'Mėnuo dd, YYYY, HH:MI P.M.', 'nls_date_language=American')iš dvigubo;
Tai turėtų grąžinti vertę:
2023-01-10 01:03:00Kai pakeisime seanso kalbą taip:
alter session set nls_territory = 'Australija';Konvertuoti laiką.
select to_date('2023 m. sausio 10 d., 1:03', 'Mėnuo dd, YYYY, HH:MI P.M.', 'nls_date_language=American')iš dvigubo;
Išvada
Šiame įraše nagrinėjame funkcijos to_date naudojimą Oracle duomenų bazėje, norint konvertuoti nurodytą įvesties datą pažodžiui į datos tipą.