Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

@@DATEFIRST – Ottieni il primo giorno della settimana in SQL Server

In SQL Server, il primo giorno della settimana è determinato dalle impostazioni della lingua correnti. Puoi anche sovrascriverlo con SET DATEFIRST istruzione, che consente di impostare in modo esplicito il primo giorno della settimana.

In entrambi i casi, puoi utilizzare il @@DATEFIRST funzione per scoprire quali impostazioni sta utilizzando la tua sessione per il primo giorno della settimana. Questo articolo mostra come.

Sintassi

La sintassi è semplice. Funziona così:

@@DATEFIRST

Esempio

Ecco un esempio di utilizzo.

SELECT @@DATEFIRST AS 'Result';

Risultato:

+----------+
| Result   |
|----------|
| 7        |
+----------+

Questo mi dice che il primo giorno della settimana è domenica. Lo so grazie alla tabella seguente.

Mappe per il primo giorno della settimana

La tabella seguente mostra come ogni valore viene mappato a un giorno della settimana.

Valore Il primo giorno della settimana è
1 lunedì
2 Martedì
3 Mercoledì
4 giovedì
5 venerdì
6 Sabato
7 Domenica

Quindi il valore di ritorno di @@DATEFIRST sarà un tinyint tra 1 e 7 .

Questo valore è inizialmente determinato dalle impostazioni della lingua correnti, tuttavia, come accennato, puoi anche utilizzare SET DATEFIRST per sovrascrivere le impostazioni della lingua.

Per vedere cosa @@DATEFIRST le impostazioni vengono mappate a ciascuna lingua, ecco un Elenco di tutte le lingue e i formati di data associati in SQL Server 2017.

Puoi anche usare sp_helplanguage stored procedure per restituire tale elenco. A tale scopo, consulta Come trovare i formati di data utilizzati per una lingua specifica in SQL Server (T-SQL).