SET DATEFIRST (Transact-SQL)
Imposta il primo giorno della settimana su un numero compreso tra 1 e 7.
Per una panoramica di tutti i tipi di dati e delle funzioni di data e ora Transact-SQL, vedere Funzioni e tipi di dati di data e ora (Transact-SQL). Per informazioni ed esempi comuni ai tipi di dati e alle funzioni di data e ora, vedere Utilizzo di dati relativi a data e ora.
Sintassi
SET DATEFIRST { number | @number_var }
Argomenti
number | **@**number_var
Valore integer che indica il primo giorno della settimana. Può essere uno dei valori seguenti.Valore
Primo giorno della settimana
1
Lunedì
2
Martedì
3
Mercoledì
4
Giovedì
5
Venerdì
6
Sabato
7 (valore predefinito, Inglese Stati Uniti)
Domenica
Osservazioni
Per visualizzare l'impostazione corrente di SET DATEFIRST, utilizzare la funzione @@DATEFIRST.
L'opzione SET DATEFIRST viene impostata in fase di esecuzione, non in fase di analisi.
Autorizzazioni
È richiesta l'appartenenza al ruolo public.
Esempi
In questo esempio viene visualizzato il giorno della settimana in base a un valore di data e vengono illustrati gli effetti della modifica dell'opzione DATEFIRST.
-- SET DATEFIRST to U.S. English default value of 7.
SET DATEFIRST 7;
SELECT CAST('1999-1-1' AS datetime2) AS SelectDate
,DATEPART(dw, '1999-1-1') AS DayOfWeek;
-- January 1, 1999 is a Friday. Because the U.S. English default
-- specifies Sunday as the first day of the week, DATEPART of 1999-1-1
-- (Friday) yields a value of 6, because Friday is the sixth day of the
-- week when you start with Sunday as day 1.
SET DATEFIRST 3;
-- Because Wednesday is now considered the first day of the week,
-- DATEPART now shows that 1999-1-1 (a Friday) is the third day of the
-- week. The following DATEPART function should return a value of 3.
SELECT CAST('1999-1-1' AS datetime2) AS SelectDate
,DATEPART(dw, '1999-1-1') AS DayOfWeek;
GO