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

2 modi per ottenere il giorno da un appuntamento in Oracle

Di seguito sono elencate due funzioni che possono essere utilizzate per restituire il giorno da una data in Oracle Database.

Il EXTRACT() Funzione

Il EXTRACT(datetime) La funzione viene utilizzata per estrarre varie parti datetime da un valore datetime. Questo include il giorno.

Ecco un esempio:

SELECT EXTRACT(DAY FROM DATE '2037-10-25')
FROM DUAL;

Risultato:

25

È il DAY parola chiave che estrae la parte del giorno dalla data. Possiamo ottenere altre parti della data modificandola con la parola chiave pertinente. Ad esempio, YEAR , MONTH , HOUR , MINUTE , ecc.

Possiamo anche usare la funzione con altri valori datetime, come TIMESTAMP , ecc.

Il TO_CHAR(datetime) Funzione

Possiamo anche usare il TO_CHAR(datetime) funziona come metodo alternativo per ottenere il giorno da una data.

Questa funzione accetta il valore datetime o interval 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 solo restituire il giorno, possiamo utilizzare uno degli elementi di formato per estrarre il giorno.

Giorno del mese

Per ottenere il giorno del mese (tra 1 e 31), usa il DD elemento di formato:

SELECT TO_CHAR(DATE '2037-10-03', 'DD')
FROM DUAL;

Risultato:

03

Nome per l'intera giornata

Per ottenere il nome completo del giorno, usa DAY :

SELECT TO_CHAR(DATE '2037-10-03', 'DAY')
FROM DUAL;

Risultato:

SATURDAY

Nome breve del giorno

Per ottenere il nome abbreviato del giorno, usa DY :

SELECT TO_CHAR(DATE '2037-10-03', 'DY')
FROM DUAL;

Risultato:

SAT

Giorno dell'anno

Per ottenere il giorno dell'anno (tra 1 e 366), usa il DDD elemento di formato:

SELECT TO_CHAR(DATE '2037-10-03', 'DDD')
FROM DUAL;

Risultato:

276

Giorno della settimana

Per ottenere il giorno della settimana (tra 1 e 7), usa il D elemento di formato:

SELECT TO_CHAR(DATE '2037-10-03', 'D')
FROM DUAL;

Risultato:

6

Questo elemento di formato dipende dal territorio NLS della sessione. Il valore di il NLS_TERRITORY del mio sistema il parametro è AUSTRALIA , e quindi sabato è considerato il sesto giorno della settimana.

Ecco cosa succede se cambio il valore del mio NLS_TERRITORY parametro su AMERICA ed esegui di nuovo la stessa query:

ALTER SESSION SET NLS_TERRITORY = 'AMERICA';
SELECT TO_CHAR(DATE '2037-10-03', 'D')
FROM DUAL;

Risultato:

7

Questa volta il sabato è considerato il settimo giorno della settimana.