Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

@@DATEFIRST – Obtenha o primeiro dia da semana no SQL Server


No SQL Server, o primeiro dia da semana é determinado pelas configurações de idioma atuais. Você também pode substituir isso com o SET DATEFIRST instrução, que permite definir explicitamente o primeiro dia da semana.

Em ambos os casos, você pode usar o @@DATEFIRST função para descobrir quais configurações sua sessão está usando para o primeiro dia da semana. Este artigo demonstra como.


Sintaxe


A sintaxe é simples. Fica assim:
@@DATEFIRST

Exemplo


Aqui está um exemplo de uso.
SELECT @@DATEFIRST AS 'Result';

Resultado:
+----------+
| Result   |
|----------|
| 7        |
+----------+

Isso me diz que o primeiro dia da semana é domingo. Eu sei disso por causa da tabela a seguir.

Mapeamentos para o primeiro dia da semana


A tabela a seguir mostra como cada valor é mapeado para um dia da semana.
Valor 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 Domingo

Portanto, o valor de retorno de @@DATEFIRST será um tinyint entre 1 e 7 .

Este valor é determinado inicialmente pelas configurações de idioma atuais, no entanto, como mencionado, você também pode usar SET DATEFIRST para substituir as configurações de idioma.

Para ver o que @@DATEFIRST configurações mapeiam para cada idioma, aqui está uma lista de todos os idiomas e formatos de data associados no SQL Server 2017.

Você também pode usar o sp_helplanguage procedimento armazenado para retornar essa lista. Para fazer isso, consulte Como encontrar os formatos de data usados ​​para um idioma específico no SQL Server (T-SQL).