sql >> Databasteknik >  >> RDS >> Oracle

2 funktioner som hämtar dagen, månaden och året från ett datum i Oracle

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.


  1. MySQL hämta variabel från lagrad procedur i PHP PDO

  2. Hur implementerar man LIMIT med SQL Server?

  3. Aggregerad funktion i MySQL - lista (som LISTAGG i Oracle)

  4. LPAD() Funktion i PostgreSQL