Denne opplæringen vil vise deg hvordan du bruker to_date-funksjonen til å konvertere en gitt inndatastreng til en datodatatype.
Orale to_date() funksjon
To_date()-funksjonen i Oracle lar deg kaste en gitt strengdato bokstavelig til en datotype.
Funksjonssyntaksen:
TO_DATE(char [, fmt [, 'nlsparam' ] ])
Funksjonen aksepterer tre hovedargumenter:
- Det første argumentet er char, som definerer inndatastrengen. Inngangsverdien kan være CHAR, VARCHAR2, NCHAR eller NVARCHAR2.
- fmt – Den andre parameteren er fmt. Denne parameteren definerer dato- og klokkeslettmodellformatet for inngangsverdien. Du kan hoppe over denne parameteren hvis inngangsverdien følger standardformatet DD-MON-YY, for eksempel 01-JAN-2022.
Hvis formatet er juliansk, representert som J, må inngangsverdien være en heltallstype.
Inndataverdien kan omfattes i følgende formater:
- nlsparam – Til slutt brukes nlsparam-parameteren til å spesifisere språket for data og måned i strengen. Formatet er NLS_DATE_FORMAT = språk. Oracle vil som standard bruke standardspråket for økten din.
Eksempel på funksjonsbruk
Følgende er eksempler på to_date-funksjonen i Oracle-databasen:
Eksempel 1 – Grunnleggende konvertering
Eksemplet nedenfor viser hvordan du bruker to_date-funksjonen til å konvertere en gitt tegnstreng til en dato.
select to_date('10. januar 2023', 'Måned dd, ÅÅÅÅ')fra dual;
I dette tilfellet konverterer vi den gitte datostrengen til en datotype ved å bruke formatet Måned dd, ÅÅÅÅ.
Den resulterende verdien vises:
TO_DATE('JANUARY102023','MONTHDD,YYYY')2023-01-10
Eksempel 2 – Konverter dato og klokkeslett til datotype
Det andre eksemplet illustrerer hvordan du konverterer en gitt tegnstreng til dato.
select to_date(‘10. januar 2023, 1:03’, ‘Måned dd, ÅÅÅÅ, HH:MI P.M.’)
fra dual;[/cc]
I dette tilfellet må vi spesifisere tidsformatet som HH:MI P.M.
Den resulterende utgangen er som vist:
TO_DATE('JANUARY10,2023,1:03','MONTHDD,YYYY,HH:MIP.M.')2023-01-10 01:03:00
Eksempel 3 – Spesifisering av språkparameter
Tenk på eksemplet nedenfor som viser hvordan du bruker to_date-funksjonen med parameteren nls_date_language.
select to_date('10. januar 2023, 1:03', 'Month dd, YYYY, HH:MI P.M.', 'nls_date_language=American')fra dual;
Dette skal returnere verdien:
2023-01-10 01:03:00Når vi endrer øktspråket som:
alter session set nls_territory = 'Australia';Konverter tiden.
select to_date('10. januar 2023, 1:03', 'Måned dd, ÅÅÅÅ, HH:MI P.M.', 'nls_date_language=amerikansk')fra dual;
Konklusjon
I dette innlegget utforsker vi bruken av to_date-funksjonen i Oracle-databasen for å konvertere en gitt inndatadato bokstavelig til datotype.