Oracle
 sql >> Database >  >> RDS >> Oracle

2 Funzioni che ottengono il giorno, il mese e l'anno da una data in Oracle

Oracle Database ha il TO_CHAR(datetime) funzione che ci consente di ottenere varie parti di data da un valore datetime.

C'è anche il EXTRACT(datetime) funzione che estrae una specifica unità di data e ora (es. giorno, mese, anno, ecc.).

Il TO_CHAR(datetime) Funzione

Possiamo ottenere il giorno, il mese e l'anno da una data passando il modello di formato applicabile a il TO_CHAR(datetime) funzione.

Esempio:

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

Risultato:

Wednesday, 26 September 2035

In questo caso il mio modello di formato ha specificato varie parti di data; il nome del giorno intero, il numero del "giorno del mese", il nome del mese e l'anno. È possibile omettere qualsiasi elemento di formato e aggiungere un numero qualsiasi di altri elementi di formato.

Possiamo anche separare ogni componente della data effettuando più chiamate alla funzione, ognuna con un elemento di formato diverso:

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;

Risultato:

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

Consulta questo elenco completo di elementi di formato DateTime in Oracle per un elenco di elementi di formato che possono essere utilizzati per formattare i valori DateTime con questa funzione.

Il EXTRACT(datetime) Funzione

Tegli EXTRACT(datetime) La funzione è un altro modo per restituire il giorno, il mese o l'anno da un valore datetime. Questa funzione estrae solo una parte della data alla volta.

Esempio:

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

Risultato:

2027

In questo caso ho estratto l'anno dalla data.

Ecco un esempio che estrae giorno, mese e anno:

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;

Risultato:

   DAY    MONTH    YEAR 
______ ________ _______ 
     3       10    2027

Vedere la funzione EXTRACT (datetime) in Oracle per un elenco delle parti della data che possono essere estratte con questa funzione.