Unten sind zwei Funktionen, die verwendet werden können, um das Jahr aus einem Datum in der Oracle-Datenbank zu extrahieren.
Der EXTRACT()
Funktion
Sie können den EXTRACT(datetime)
verwenden Funktion zum Extrahieren verschiedener datetime-Teile aus einem datetime-Wert. Dies schließt das Jahr ein.
Hier ist ein Beispiel:
SELECT EXTRACT(YEAR FROM DATE '2030-12-25')
FROM DUAL;
Ergebnis:
2030
Es ist das YEAR
Schlüsselwort, das den Jahresteil aus dem Datum extrahiert. Wir können andere Datumsteile erhalten, indem wir sie in das relevante Schlüsselwort ändern. Beispiel:MONTH
, DAY
, HOUR
, MINUTE
usw.
Wir können die Funktion auch mit anderen datetime-Werten verwenden, wie z. B. TIMESTAMP
usw.
Die Funktion kann auch verwendet werden, um das Jahr aus einem Intervall zurückzugeben. Siehe EXTRACT(datetime)
Funktion in Oracle für ein Beispiel.
Der TO_CHAR(datetime)
Funktion
Wir können auch den TO_CHAR(datetime)
verwenden Funktion als alternative Methode, um das Jahr aus einem Datum zu erhalten.
Diese Funktion akzeptiert den datetime oder Intervallwert als erstes Argument und ein Formatmodell als zweites Argument. Die Funktion konvertiert dann den Wert in einen Datentyp von VARCHAR2
im angegebenen Format.
Das Formatmodell gibt das Format an, für das der datetime/interval-Wert zurückgegeben werden soll. Das Formatmodell besteht aus einem oder mehreren -Formatelementen. Dies ermöglicht es uns, die Ergebnisse sorgfältig so zu gestalten, dass sie unser gewünschtes Format widerspiegeln.
Wenn wir nur das Jahr zurückgeben wollen, können wir den YYYY
verwenden Formatelement:
SELECT TO_CHAR(DATE '2027-10-03', 'YYYY')
FROM DUAL;
Ergebnis:
2027
Wir können auch Alternativen für das Formatmodell verwenden. Zum Beispiel können wir YY
verwenden um ein zweistelliges Jahr anzugeben:
SELECT TO_CHAR(DATE '2027-10-03', 'YY')
FROM DUAL;
Ergebnis:
27
Tatsächlich können wir zwischen einem und vier Y
haben Zeichen, je nach unseren Anforderungen:
SELECT
TO_CHAR(DATE '2027-10-03', 'Y') AS Y,
TO_CHAR(DATE '2027-10-03', 'YY') AS YY,
TO_CHAR(DATE '2027-10-03', 'YYY') AS YYY,
TO_CHAR(DATE '2027-10-03', 'YYYY') AS YYYY
FROM DUAL;
Ergebnis:
J JJ JJJ JJJJ ____ _____ _____ _______ 7 27 027 2027
Komma einfügen
Wir können den Y,YYY
verwenden format-Element, wenn wir ein Komma in die Ausgabe einfügen möchten:
SELECT TO_CHAR(DATE '2027-10-03', 'Y,YYY')
FROM DUAL;
Ergebnis:
2.027
Buchstabiere das Jahr
Wir können sogar das YEAR
verwenden Formatelement, um das ausgeschriebene Jahr zurückzugeben:
SELECT TO_CHAR(DATE '2027-10-03', 'YEAR')
FROM DUAL;
Ergebnis:
ZWANZIG SIEBENUNDZWANZIG
BC-Daten
Wir können auch BC-Daten berücksichtigen, indem wir unserem Jahresformatelement ein S
voranstellen . Dabei wird dem Ergebnis ggf. ein Minuszeichen vorangestellt:
SELECT
TO_CHAR(DATE '-250-10-03', 'SYYYY') AS SYYYY,
TO_CHAR(DATE '-250-10-03', 'SYEAR') AS SYEAR
FROM DUAL;
Ergebnis:
SYYYY SYEAR ________ _____________ -0250 -TWO FIFTY
Wir können alternativ die BC oder B.C. Formatelemente zur Berücksichtigung von BC-Daten:
SELECT
TO_CHAR(DATE '-250-10-03', 'YYYY BC') AS YYYY,
TO_CHAR(DATE '-250-10-03', 'YEAR BC') AS YEAR,
TO_CHAR(DATE '250-10-03', 'YYYY BC') AS YYYY,
TO_CHAR(DATE '250-10-03', 'YEAR BC') AS YEAR
FROM DUAL;
Ergebnis:
JJJJ JAHR JJJJ JAHR __________ __________ __________ _______________ 0250 v. Chr. ZWEI FÜNFZIG v