Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

@@DATEFIRST - Obtenez le premier jour de la semaine dans SQL Server

Dans SQL Server, le premier jour de la semaine est déterminé par les paramètres de langue actuels. Vous pouvez également remplacer cela avec le SET DATEFIRST déclaration, qui vous permet de définir explicitement le premier jour de la semaine.

Dans les deux cas, vous pouvez utiliser le @@DATEFIRST fonction pour savoir quels paramètres votre session utilise pour le premier jour de la semaine. Cet article montre comment.

Syntaxe

La syntaxe est simple. Ça se passe comme ça :

@@DATEFIRST

Exemple

Voici un exemple d'utilisation.

SELECT @@DATEFIRST AS 'Result';

Résultat :

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

Cela m'indique que le premier jour de la semaine est le dimanche. Je le sais grâce au tableau suivant.

Mappages pour le premier jour de la semaine

Le tableau suivant montre comment chaque valeur est mappée à un jour de la semaine.

Valeur Le premier jour de la semaine est
1 Lundi
2 mardi
3 Mercredi
4 jeudi
5 vendredi
6 Samedi
7 dimanche

Donc la valeur de retour de @@DATEFIRST sera un tinyint entre 1 et 7 .

Cette valeur est initialement déterminée par les paramètres de langue actuels, mais comme mentionné, vous pouvez également utiliser SET DATEFIRST pour remplacer les paramètres de langue.

Pour voir ce que @@DATEFIRST les paramètres correspondent à chaque langue, voici une liste de toutes les langues et des formats de date associés dans SQL Server 2017.

Vous pouvez également utiliser le sp_helplanguage procédure stockée pour renvoyer cette liste. Pour ce faire, consultez Comment trouver les formats de date utilisés pour une langue spécifique dans SQL Server (T-SQL).