Oracle Database har TO_CHAR(datetime)
funktion som gör att vi kan hämta olika datumdelar från ett datetime-värde.
Det finns också EXTRACT(datetime)
funktion som extraherar en specifik datetime-enhet (t.ex. dag, månad, år, etc).
TO_CHAR(datetime)
Funktion
Vi kan få dagen, månaden och året från ett datum genom att skicka den tillämpliga formatmodellen till TO_CHAR(datetime)
fungera.
Exempel:
SELECT TO_CHAR(DATE '2035-09-26', 'Day, DD Month YYYY')
FROM DUAL;
Resultat:
Wednesday, 26 September 2035
I det här fallet specificerade min formatmodell olika datumdelar; hela dagen namn, "dagen i månaden" nummer, månadens namn och året. Vilket som helst av formatelementen kan utelämnas och valfritt antal andra formatelement kan läggas till.
Vi kan till och med separera varje datumkomponent genom att göra flera anrop till funktionen, alla med olika 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 den här fullständiga listan över Datetime Format Elements i Oracle för en lista över formatelement som kan användas för att formatera datetime-värden med den här funktionen.
EXTRACT(datetime)
Funktion
Than EXTRACT(datetime)
funktion är ett annat sätt att returnera dagen, månaden eller året från ett datetime-värde. Den här funktionen extraherar bara en datumdel åt gången.
Exempel:
SELECT EXTRACT(YEAR FROM DATE '2027-10-03')
FROM DUAL;
Resultat:
2027
I det här fallet tog jag ut årtalet från datumet.
Här är ett exempel som extraherar dagen, månaden och å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 EXTRACERA (datetime)-funktionen i Oracle för en lista över datumdelar som kan extraheras med den här funktionen.