Di seguito sono elencate due funzioni che possono essere utilizzate per estrarre l'anno da una data in Oracle Database.
Il EXTRACT()
Funzione
Puoi usare EXTRACT(datetime)
funzione per estrarre varie parti datetime da un valore datetime. Questo include l'anno.
Ecco un esempio:
SELECT EXTRACT(YEAR FROM DATE '2030-12-25')
FROM DUAL;
Risultato:
2030
È il YEAR
parola chiave che estrae la parte dell'anno dalla data. Possiamo ottenere altre parti della data modificandola con la parola chiave pertinente. Ad esempio, MONTH
, DAY
, HOUR
, MINUTE
, ecc.
Possiamo anche usare la funzione con altri valori datetime, come TIMESTAMP
, ecc.
La funzione può essere utilizzata anche per restituire l'anno da un intervallo. Vedi EXTRACT(datetime)
Funzione in Oracle per un esempio.
Il TO_CHAR(datetime)
Funzione
Possiamo anche usare il TO_CHAR(datetime)
funziona come metodo alternativo per ottenere l'anno da una data.
Questa funzione accetta il valore datetime o intervallo come primo argomento e un modello di formato come secondo argomento. La funzione converte quindi il valore in un tipo di dati di VARCHAR2
nel formato specificato.
Il modello di formato specifica il formato per il quale restituire il valore datetime/intervallo. Il modello di formato è costituito da uno o più elementi di formato. Questo ci consente di elaborare con cura i risultati per riflettere il formato desiderato.
Se vogliamo restituire solo l'anno, possiamo utilizzare il YYYY
elemento di formato:
SELECT TO_CHAR(DATE '2027-10-03', 'YYYY')
FROM DUAL;
Risultato:
2027
Possiamo anche utilizzare alternative per il modello di formato. Ad esempio, possiamo usare YY
per specificare un anno a due cifre:
SELECT TO_CHAR(DATE '2027-10-03', 'YY')
FROM DUAL;
Risultato:
27
In effetti, possiamo avere da uno a quattro Y
caratteri, a seconda delle nostre esigenze:
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;
Risultato:
Y YY YYY YYYY ____ _____ ______ _______ 7 27 027 2027
Includi una virgola
Possiamo usare il Y,YYY
format element se vogliamo includere una virgola nell'output:
SELECT TO_CHAR(DATE '2027-10-03', 'Y,YYY')
FROM DUAL;
Risultato:
2,027
Spiega l'anno
Possiamo anche usare il YEAR
elemento di formato per restituire l'anno esplicitato:
SELECT TO_CHAR(DATE '2027-10-03', 'YEAR')
FROM DUAL;
Risultato:
TWENTY TWENTY-SEVEN
Date BC
Possiamo anche soddisfare le date BC anteponendo al nostro elemento del formato anno una S
. In questo modo, antepone al risultato un segno meno, a seconda dei casi:
SELECT
TO_CHAR(DATE '-250-10-03', 'SYYYY') AS SYYYY,
TO_CHAR(DATE '-250-10-03', 'SYEAR') AS SYEAR
FROM DUAL;
Risultato:
SYYYY SYEAR ________ _____________ -0250 -TWO FIFTY
Possiamo in alternativa utilizzare il BC o il B.C. elementi di formato per soddisfare le date 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;
Risultato:
YYYY YEAR YYYY YEAR __________ _______________ __________ _______________ 0250 BC TWO FIFTY BC 0250 AD TWO FIFTY AD