Oracle to_date -funksjonen

Oracle to_date -funksjonen

Datoer og strenger er noen av de vanligste datatypene du vil samhandle med når du jobber med databaser. Det er derfor ingen overraskelse at du vil møte et scenario der du trenger å konvertere en gitt streng bokstavelig til en datatype.

Denne opplæringen tar sikte på å vise deg hvordan du bruker TO_DATE () -funksjonen i Oracle for å utføre det.

Orale to_date () funksjon

TO_DATE () -funksjonen i Oracle lar deg konvertere en gitt strengdato bokstavelig til en datatype.

Funksjonssyntaksen kan uttrykkes i utdraget nedenfor:

To_date (char [, fmt [, 'nlsparam']])

Funksjonen godtar tre hovedargumenter:

  1. røye - Det første argumentet er røye, som definerer inngangsdatostrengen. Inngangsverdien kan være røye, varchar2, nchar eller nvarchar2.
  2. fmt - Den andre parameteren er denne parameteren definerer datetime -modellformatet til inngangsverdien. Du kan hoppe over denne parameteren hvis inngangsverdien følger standardformatet til DD-Mon-yy, for eksempel 01-jan-2022.

Hvis formatet er Julian, representert som J, må inngangsverdien være en heltallstype.

Inngangsverdien kan bestå av følgende formater.

Du kan utforske opplæringen vår om formatering av Oracle Date for å lære mer om de forskjellige dataformatene.

c. nlsparam - Til slutt brukes NLSParam -parameteren til å spesifisere språket for data og måned i strengen. Formatet er nls_date_format = språk. Husk at dette er en valgfri parameter, og Oracle vil standard være standardspråket for økten din.

Eksempelfunksjonsbruk

Følgende er eksempler på TO_DATE -funksjonen i Oracle -databasen:

Eksempel 1 - Grunnleggende konvertering

Eksemplet nedenfor viser hvordan du bruker TO_DATE -funksjonen for å konvertere en gitt karakterstreng til en dato.

Velg To_Date ('10. januar 2023', 'Month DD, Yyyy')
fra dobbelt;

I dette tilfellet konverterer vi den gitte datostrengen til en datatype ved hjelp av måneden DD, YYYY -format.

Den resulterende verdien vises:

To_date ('januar102023', 'Monthdd, åååå')
2023-01-10

Eksempel 2 - Konverter dato og klokkeslett til dato

Det andre eksemplet illustrerer hvordan du konverterer en gitt karakterstreng til dags dato.

Velg To_Date ('10. januar 2023, 1:03', 'Måned DD, Åååå, HH: Mi P.M.')
fra dobbelt;

I dette tilfellet må vi spesifisere tidsformatet som HH: Mi P.M.

Den resulterende utgangen er som vist:

To_date ('januar10,2023,1: 03', 'Monthdd, YYYY, HH: MIP.M.')
2023-01-10 01:03:00

Eksempel 3 - Spesifisere språkparameteren

Tenk på eksemplet nedenfor som viser hvordan du bruker TO_DATE -funksjonen med NLS_DATE_LANGUAGE -parameteren.

Velg To_Date ('10. januar 2023, 1:03', 'Måned DD, Åååå, HH: Mi P.M.',' nls_date_language = amerikansk ')
fra dobbelt;

Dette skal returnere verdien:

2023-01-10 01:03:00

Når vi endrer sesjonsspråket som:

Alter Session Set NLS_TERRIORTY = 'Australia';

Konvertere tiden.

Velg To_Date ('10. januar 2023, 1:03', 'Måned DD, Åååå, HH: Mi P.M.',' nls_date_language = amerikansk ')
fra dobbelt;

Konklusjon

I dette innlegget utforsker vi bruken av TO_DATE -funksjonen i Oracle -databasen for å konvertere en gitt inngangsdato bokstavelig til dags dato.