SET DATEFIRST (Transact-SQL)

Affecte un nombre allant de 1 à 7 au premier jour de la semaine.

Pour obtenir une vue d'ensemble de tous les types de données et fonctions de date et d'heure Transact-SQL, consultez Fonctions de date et d'heure (Transact-SQL). Pour obtenir des informations et des exemples communs aux types de données et fonctions de date et d'heure, consultez Utilisation des données de date et d'heure.

Icône Lien de rubriqueConventions de la syntaxe de Transact-SQL

Syntaxe

SET DATEFIRST { number | @number_var } 

Arguments

  • number | **@**number_var
    Nombre entier indiquant le premier jour de la semaine. Les valeurs possibles sont les suivantes :

    Valeur

    Premier jour de la semaine

    1

    Lundi

    2

    Mardi

    3

    Mercredi

    4

    Jeudi

    5

    Vendredi

    6

    Samedi

    7 (par défaut, Anglais États-Unis)

    Dimanche

Notes

Pour afficher la valeur actuelle de SET DATEFIRST, utilisez la fonction @@DATEFIRST.

L'option SET DATEFIRST est définie lors de l'exécution, et non pas durant l'analyse.

Autorisations

Nécessite l'appartenance au rôle public.

Exemples

L'exemple suivant affiche le jour de la semaine pour une valeur date et ainsi que les effets de la modification du paramètre 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

Voir aussi

Référence