Oracle Database har TO_CHAR(datetime)
funktion, der gør det muligt for os at hente forskellige datodele fra en datetime-værdi.
Der er også EXTRACT(datetime)
funktion, der udtrækker en bestemt dato- og tidsenhed (f.eks. dag, måned, år osv.).
TO_CHAR(datetime)
Funktion
Vi kan få dagen, måneden og året fra en dato ved at overføre den relevante formatmodel til TO_CHAR(datetime)
fungere.
Eksempel:
SELECT TO_CHAR(DATE '2035-09-26', 'Day, DD Month YYYY')
FROM DUAL;
Resultat:
Wednesday, 26 September 2035
I dette tilfælde specificerede min formatmodel forskellige datodele; det fulde dagsnavn, "dagen i måneden", månedsnavnet og året. Ethvert af formatelementerne kan udelades, og et hvilket som helst antal andre formatelementer kan tilføjes.
Vi kan endda adskille hver datokomponent ved at foretage flere kald til funktionen, hver med et forskelligt formatelement:
SELECT
TO_CHAR(DATE '2035-09-26', 'Day') AS Day,
TO_CHAR(DATE '2035-09-26', 'DD') AS DD,
TO_CHAR(DATE '2035-09-26', 'Month') AS Month,
TO_CHAR(DATE '2035-09-26', 'YYYY') AS Year
FROM DUAL;
Resultat:
DAY DD MONTH YEAR ____________ _____ ____________ _______ Wednesday 26 September 2035
Se denne fulde liste over Datetime Format Elements i Oracle for en liste over formatelementer, der kan bruges til at formatere datetime-værdier med denne funktion.
EXTRACT(datetime)
Funktion
Than EXTRACT(datetime)
funktion er en anden måde at returnere dagen, måneden eller året fra en datetime-værdi. Denne funktion udtrækker kun én datodel ad gangen.
Eksempel:
SELECT EXTRACT(YEAR FROM DATE '2027-10-03')
FROM DUAL;
Resultat:
2027
I dette tilfælde udtog jeg året fra datoen.
Her er et eksempel, der uddrager dagen, måneden og året:
SELECT
EXTRACT(DAY FROM DATE '2027-10-03') AS Day,
EXTRACT(MONTH FROM DATE '2027-10-03') AS Month,
EXTRACT(YEAR FROM DATE '2027-10-03') AS Year
FROM DUAL;
Resultat:
DAY MONTH YEAR ______ ________ _______ 3 10 2027
Se EXTRACT (datetime) funktion i Oracle for en liste over datodele, der kan udtrækkes med denne funktion.