Tämä opetusohjelma näyttää, kuinka voit käyttää to_date-funktiota tietyn syötemerkkijonon muuntamiseen päivämäärätietotyypiksi.
Orale to_date() -funktio
Oraclen to_date()-funktion avulla voit heittää tietyn merkkijonon päivämääräliteraalin päivämäärätyyppiin.
Funktion syntaksi:
TO_DATE(merkki [, fmt [, 'nlsparam' ] ])
Funktio hyväksyy kolme pääargumenttia:
- Ensimmäinen argumentti on char, joka määrittää syötetyn päivämäärän merkkijonon. Syöttöarvo voi olla CHAR, VARCHAR2, NCHAR tai NVARCHAR2.
- fmt – Toinen parametri on fmt. Tämä parametri määrittää syöttöarvon päivämäärä- ja aikamallimuodon. Voit ohittaa tämän parametrin, jos syöttöarvo noudattaa oletusmuotoa PP-MON-YY, esimerkiksi 01-JAN-2022.
Jos muoto on Julian, joka esitetään muodossa J, syöttöarvon on oltava kokonaislukutyyppiä.
Syöttöarvo voidaan sisällyttää seuraaviin muotoihin:
- nlsparam – Lopuksi parametria nlsparam käytetään määrittämään merkkijonon tietojen kieli ja kuukausi. Muoto on NLS_DATE_FORMAT = kieli. Oracle käyttää oletuksena istunnon oletuskieltä.
Esimerkki funktion käytöstä
Seuraavassa on esimerkkejä to_date-funktiosta Oracle-tietokannassa:
Esimerkki 1 – Perusmuunnos
Alla oleva esimerkki osoittaa, kuinka to_date-funktiota käytetään muuttamaan tietty merkkijono päivämääräksi.
select to_date('10. tammikuuta 2023', 'kuukausi dd, VVVV')dual;
Tässä tapauksessa muunnetaan annettu päivämäärämerkkijono päivämäärätyypiksi käyttäen muotoa Kuukausi dd, VVVV.
Tuloksena oleva arvo näytetään:
TO_DATE('TAMMIKUU102023','KUUKAUSI,VVVV')10.1.2023
Esimerkki 2 – Muunna päivämäärä ja aika päivämäärätyypiksi
Toinen esimerkki havainnollistaa, kuinka tietty merkkijono muunnetaan päivämääräksi.
select to_date('10. tammikuuta 2023, 1:03', 'Kuukausi dd, VVVV, HH:MI P.PM.')
dualista;[/cc]
Tässä tapauksessa meidän on määritettävä ajan muoto HH:MI P.M.
Tuloksena oleva tulos on seuraavanlainen:
TO_DATE('TAMMIKUU10,2023,1:03','KUUKAUSI,VVVV,HH:MIP.PM')2023-01-10 01:03:00
Esimerkki 3 – Kieliparametrin määrittäminen
Harkitse alla olevaa esimerkkiä, joka osoittaa, kuinka to_date-funktiota käytetään parametrin nls_date_language kanssa.
select to_date('10. tammikuuta 2023, 1:03', 'Kuukausi dd, VVVV, HH:MI P.PM.', 'nls_date_language=American')dual;
Tämän pitäisi palauttaa arvo:
2023-01-10 01:03:00Kun vaihdamme istunnon kielen seuraavasti:
alter session set nls_territory = 'Australia';Muunna aika.
select to_date('10. tammikuuta 2023, 1:03', 'Kuukausi dd, VVVV, HH:MI P.PM.', 'nls_date_language=American')dual;
Johtopäätös
Tässä viestissä tutkimme to_date-funktion käyttöä Oraclen tietokannassa tietyn syöttöpäivämäärän kirjaimellisen muuntamiseksi päivämäärätyypiksi.