Nedan finns två funktioner som kan användas för att extrahera månaden från ett datum i Oracle Database.
EXTRACT()
Funktion
Du kan använda EXTRACT(datetime)
funktion för att extrahera olika datetime-delar från ett datetime-värde. Detta inkluderar månaden.
Här är ett exempel:
SELECT EXTRACT(MONTH FROM DATE '2030-12-25')
FROM DUAL;
Resultat:
12
Det är MONTH
nyckelord som extraherar månadsdelen från datumet. Vi kan få andra datumdelar genom att ändra det till det relevanta sökordet. Till exempel YEAR
, DAY
, HOUR
, MINUTE
, etc.
Vi kan också använda funktionen med andra datetime-värden, såsom TIMESTAMP
, etc.
TO_CHAR(datetime)
Funktion
Vi kan också använda den TO_CHAR(datetime)
fungera som en alternativ metod för att få månaden från ett datum.
Den här funktionen accepterar datetime- eller intervallvärdet som dess första argument och en formatmodell som dess andra argument. Funktionen konverterar sedan värdet till en datatyp VARCHAR2
i det angivna formatet.
Formatmodellen anger formatet som datum/intervallvärdet ska returneras för. Formatmodellen består av ett eller flera formatelement. Detta gör det möjligt för oss att noggrant utforma resultaten för att återspegla vårt önskade format.
Om vi bara vill returnera månaden kan vi använda ett av formatelementen för att extrahera månaden.
För att få månaden i 01-12-format, använd MM
formatelement:
SELECT TO_CHAR(DATE '2027-08-03', 'MM')
FROM DUAL;
Resultat:
08
Månadens fullständiga namn
För att få månadens fullständiga namn, använd MONTH
:
SELECT TO_CHAR(DATE '2027-08-03', 'MONTH')
FROM DUAL;
Resultat:
AUGUST
Kort månadsnamn
För att få månadens korta namn, använd MON
:
SELECT TO_CHAR(DATE '2027-08-03', 'MON')
FROM DUAL;
Resultat:
AUG