Deze zelfstudie laat zien hoe u de to_date-functie gebruikt om een gegeven invoertekenreeks om te zetten in een datumgegevenstype.
Orale to_date() Functie
Met de functie to_date() in Oracle kunt u een gegeven tekenreeks voor een letterlijke datum omzetten in een datumtype.
De syntaxis van de functie:
TO_DATE(teken [, fmt [, 'nlsparam']])
De functie accepteert drie hoofdargumenten:
- Het eerste argument is de char, die de ingevoerde datumstring definieert. De invoerwaarde kan CHAR, VARCHAR2, NCHAR of NVARCHAR2 zijn.
- fmt – De tweede parameter is fmt. Deze parameter definieert de datum/tijd-modelnotatie van de invoerwaarde. U kunt deze parameter overslaan als de invoerwaarde de standaardindeling van DD-MON-YY volgt, bijvoorbeeld 01-JAN-2022.
Als het formaat Julian is, weergegeven als J, dan moet de invoerwaarde een geheel getal zijn.
De invoerwaarde kan in de volgende formaten worden weergegeven:
- nlsparam – Ten slotte wordt de parameter nlsparam gebruikt om de taal voor gegevens en maand in de tekenreeks op te geven. Het formaat is NLS_DATE_FORMAT = taal. Oracle zal standaard de standaardtaal van uw sessie gebruiken.
Voorbeeld Functiegebruik
Hieronder volgen voorbeelden van de functie to_date in de Oracle-database:
Voorbeeld 1 – Basisconversie
Het onderstaande voorbeeld laat zien hoe u de functie to_date kunt gebruiken om een gegeven tekenreeks om te zetten in een datum.
select to_date('10 januari 2023', 'Maand dd, JJJJ')van dubbel;
In dit geval converteren we de gegeven datumtekenreeks naar een datumtype met behulp van de indeling Maand dd, JJJJ.
De resulterende waarde wordt weergegeven:
TO_DATE('JANUARI102023','MAANDDD,JJJJ')2023-01-10
Voorbeeld 2 – Converteer datum en tijd naar datumtype
Het tweede voorbeeld illustreert hoe een bepaalde tekenreeks naar een datum kan worden geconverteerd.
select to_date('10 januari 2023, 1:03', 'Maand dd, JJJJ, UU:MI P.M.')
van dubbel;[/cc]
In dit geval moeten we het tijdformaat specificeren als UU:MI P.M.
De resulterende uitvoer is zoals weergegeven:
TO_DATE('JANUARI10,2023,1:03','MAANDDD,JJJJ,UU:MIP.M.')2023-01-10 01:03:00
Voorbeeld 3 – De taalparameter specificeren
Bekijk het onderstaande voorbeeld waarin wordt gedemonstreerd hoe de functie to_date moet worden gebruikt met de parameter nls_date_language.
select to_date('10 januari 2023, 1:03', 'Maand dd, JJJJ, UU:MI P.M.', 'nls_date_language=American')van dubbel;
Dit zou de waarde moeten retourneren:
2023-01-10 01:03:00Zodra we de sessietaal wijzigen als:
alter session set nls_territory = 'Australië';Converteer de tijd.
select to_date('10 januari 2023, 1:03', 'Maand dd, JJJJ, UU:MI P.M.', 'nls_date_language=American')van dubbel;
Conclusie
In dit bericht onderzoeken we het gebruik van de to_date-functie in de Oracle-database om een gegeven invoerdatum letterlijk om te zetten in datumtype.