Vous trouverez ci-dessous deux fonctions qui peuvent être utilisées pour extraire l'année d'une date dans Oracle Database.
Le EXTRACT()
Fonction
Vous pouvez utiliser le EXTRACT(datetime)
fonction pour extraire diverses parties datetime d'une valeur datetime. Cela inclut l'année.
Voici un exemple :
SELECT EXTRACT(YEAR FROM DATE '2030-12-25')
FROM DUAL;
Résultat :
2030
C'est le YEAR
mot-clé qui extrait la partie année de la date. Nous pouvons obtenir d'autres parties de date en les remplaçant par le mot-clé pertinent. Par exemple, MONTH
, DAY
, HOUR
, MINUTE
, etc.
Nous pouvons également utiliser la fonction avec d'autres valeurs datetime, telles que TIMESTAMP
, etc.
La fonction peut également être utilisée pour renvoyer l'année à partir d'un intervalle. Voir EXTRACT(datetime)
Fonction dans Oracle pour un exemple.
Le TO_CHAR(datetime)
Fonction
Nous pouvons également utiliser le TO_CHAR(datetime)
fonctionnent comme une méthode alternative pour obtenir l'année à partir d'une date.
Cette fonction accepte la date/heure ou la valeur d'intervalle comme premier argument, et un modèle de format comme deuxième argument. La fonction convertit ensuite la valeur en un type de données de VARCHAR2
dans le format spécifié.
Le modèle de format spécifie le format pour lequel renvoyer la valeur datetime/intervalle. Le modèle de format consiste en un ou plusieurs éléments de format . Cela nous permet d'élaborer soigneusement les résultats pour refléter le format souhaité.
Si nous ne voulons retourner que l'année, nous pouvons utiliser le YYYY
élément de format :
SELECT TO_CHAR(DATE '2027-10-03', 'YYYY')
FROM DUAL;
Résultat :
2027
Nous pouvons également utiliser des alternatives pour le modèle de format. Par exemple, nous pouvons utiliser YY
pour spécifier une année à deux chiffres :
SELECT TO_CHAR(DATE '2027-10-03', 'YY')
FROM DUAL;
Résultat :
27
En fait, nous pouvons avoir n'importe où entre un et quatre Y
caractères, selon nos besoins :
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;
Résultat :
Y YY YYY YYYY ____ _____ ______ _______ 7 27 027 2027
Inclure une virgule
Nous pouvons utiliser le Y,YYY
élément de format si nous voulons inclure une virgule dans la sortie :
SELECT TO_CHAR(DATE '2027-10-03', 'Y,YYY')
FROM DUAL;
Résultat :
2,027
Épeler l'année
Nous pouvons même utiliser le YEAR
élément de format pour renvoyer l'année épelée :
SELECT TO_CHAR(DATE '2027-10-03', 'YEAR')
FROM DUAL;
Résultat :
TWENTY TWENTY-SEVEN
Dates BC
Nous pouvons également répondre aux dates BC en préfixant notre élément de format d'année avec un S
. Ce faisant, préfixe le résultat avec un signe moins, le cas échéant :
SELECT
TO_CHAR(DATE '-250-10-03', 'SYYYY') AS SYYYY,
TO_CHAR(DATE '-250-10-03', 'SYEAR') AS SYEAR
FROM DUAL;
Résultat :
SYYYY SYEAR ________ _____________ -0250 -TWO FIFTY
Nous pouvons alternativement utiliser le BC ou le B.C. éléments de format pour répondre aux dates BC :
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;
Résultat :
YYYY YEAR YYYY YEAR __________ _______________ __________ _______________ 0250 BC TWO FIFTY BC 0250 AD TWO FIFTY AD