SET DATEFIRST (Transact-SQL)
Define o primeiro dia da semana como um número de 1 a 7.
Para obter uma visão geral de todos os tipos de dados e funções de data e hora do Transact-SQL, consulte tipos de dados e funções de data e hora (Transact-SQL).
Convenções da sintaxe Transact-SQL
Sintaxe
SET DATEFIRST { number | @number_var }
Argumentos
number | **@**number_var
É um inteiro que indica o primeiro dia da semana. Pode ser um dos seguintes valores.Value
O primeiro dia da semana é
1
Segunda-feira
2
Terça-feira
3
Quarta-feira
4
Quinta-feira
5
Sexta-feira
6
Sábado
7 (padrão, EUA Inglês)
Domingo
Comentários
Para visualizar a configuração atual de SET DATEFIRST, use a função @ @DATEFIRST.
A configuração de SET DATEFIRST é definida no momento da execução e não no momento da análise.
A especificação de SET DATEFIRST não tem nenhum efeito em DATEDIFF. DATEDIFF sempre usa Domingo como o primeiro dia da semana par assegurar que a função seja determinística.
Permissões
Requer a associação à função public.
Exemplos
O exemplo a seguir exibe o dia da semana para obter um valor de data e mostra os efeitos de alterar a configuração 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