Oracle
 sql >> Datenbank >  >> RDS >> Oracle

2 Funktionen, die Tag, Monat und Jahr aus einem Datum in Oracle abrufen

Oracle Database hat den TO_CHAR(datetime) Funktion, die es uns ermöglicht, verschiedene Datumsteile aus einem datetime-Wert zu erhalten.

Es gibt auch den EXTRACT(datetime) Funktion, die eine bestimmte Datetime-Einheit (z. B. Tag, Monat, Jahr usw.) extrahiert.

Der TO_CHAR(datetime) Funktion

Wir können Tag, Monat und Jahr aus einem Datum erhalten, indem wir das anwendbare Formatmodell an den TO_CHAR(datetime) übergeben Funktion.

Beispiel:

SELECT TO_CHAR(DATE '2035-09-26', 'Day, DD Month YYYY')
FROM DUAL;

Ergebnis:

Wednesday, 26 September 2035

In diesem Fall spezifizierte mein Formatmodell verschiedene Datumsteile; der vollständige Tagesname, die „Tag des Monats“-Zahl, der Monatsname und das Jahr. Jedes der Formatelemente kann weggelassen werden, und eine beliebige Anzahl anderer Formatelemente könnte hinzugefügt werden.

Wir können sogar jede Datumskomponente trennen, indem wir die Funktion mehrfach aufrufen, jeder mit einem anderen 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;

Ergebnis:

         DAY    DD        MONTH    YEAR 
____________ _____ ____________ _______ 
Wednesday    26    September    2035    

In dieser vollständigen Liste der Datetime-Formatelemente in Oracle finden Sie eine Liste der Formatelemente, die zum Formatieren von Datetime-Werten mit dieser Funktion verwendet werden können.

Der EXTRACT(datetime) Funktion

Tder EXTRACT(datetime) -Funktion ist eine weitere Möglichkeit, Tag, Monat oder Jahr aus einem datetime-Wert zurückzugeben. Diese Funktion extrahiert jeweils nur einen Datumsteil.

Beispiel:

SELECT EXTRACT(YEAR FROM DATE '2027-10-03')
FROM DUAL;

Ergebnis:

2027

In diesem Fall habe ich das Jahr aus dem Datum extrahiert.

Hier ist ein Beispiel, das Tag, Monat und Jahr extrahiert:

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;

Ergebnis:

   DAY    MONTH    YEAR 
______ ________ _______ 
     3       10    2027

Siehe EXTRACT (datetime)-Funktion in Oracle für eine Liste von Datumsteilen, die mit dieser Funktion extrahiert werden können.