SQL Day of Week

SQL Day of Week

La data e l'ora sono significative quando si lavora con i dati. Ci consentono di tenere traccia delle modifiche apportate al database entro intervalli di tempo specifici.

Tuttavia, nei database SQL, è necessario specificare la data per intero (i.e., l'anno, il mese e la data.) Quindi, se è necessario accedere solo a una parte specifica della data, è necessario eseguire un'operazione particolare.

Questo articolo esaminerà come possiamo estrarre il giorno della settimana da un valore di data utilizzando sia l'eredità che lo standard SQL.

Sebbene alcuni motori di database supportino ancora SQL legacy, consigliamo l'opzione per SQL standard per garantire la compatibilità con i principali motori di database.

Legacy SQL

Il primo metodo di cui discuteremo è l'estrazione del giorno della settimana usando Legacy SQL. Per questo, useremo la funzione DayofWeek ().

Questa funzione prende un tipo di dati Timestamp come argomento e restituisce il giorno della settimana. Il valore di ritorno è un tipo intero che va da 1 a 7: dove 1 è domenica e sette sono inclusivi sabato.

La sintassi della funzione è come mostrato di seguito:

GIORNO DELLA SETTIMANA()

Questa funzione illustrata nell'esempio seguente:

Seleziona giorno (Timestamp ('2012-04-01 10:07:05')) come day_of_week;

La query sopra dovrebbe restituire un numero intero che indica il giorno della settimana. L'output di esempio è come mostrato:

giorno della settimana
1

SQL standard.

A differenza di Legacy SQL, Standard SQL ci fornisce una funzione per estrarre varie parti di DateTime.

La funzione extract () estrae una parte specifica da un tipo di timestamp. La sintassi della funzione è come mostrata:

Estratto (parte da data_expression)

La funzione prende la parte per estrarre il timestamp. La parte può includere le seguenti opzioni:

  1. GIORNO DELLA SETTIMANA
  2. GIORNO
  3. Dayofyear
  4. SETTIMANA
  5. SETTIMANA
  6. Giorni feriali
  7. Isoweek
  8. MESE
  9. TRIMESTRE
  10. ANNO
  11. Isoyear

Per questo tutorial, siamo interessati a estrarre la giornata della settimana in modo che possiamo specificare la parte come DayofWeek.

La funzione dovrebbe restituire un valore intero che va da 1 a 7.

Un esempio è come mostrato:

SELEZIONARE
Estratto (dayofweek dalla data '2022-04-01') come day_of_week;

La query sopra dovrebbe restituire l'output come:

giorno della settimana
6

Conclusione

Questo articolo ha discusso di due metodi principali per estrarre il giorno della settimana da un oggetto di data in Legacy e Standard SQL.