SET DATEFIRST (Transact-SQL)

 

CETTE RUBRIQUE S’APPLIQUE À : ouiSQL Server (à partir de la version 2008)ouiAzure SQL DatabaseouiAzure SQL Data WarehouseouiParallel Data Warehouse

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

Pour une vue d’ensemble de tous les Transact-SQL les types de données date et heure et les fonctions, consultez la rubrique Date et Types de données et fonctions ( ; Transact-SQL ) ;.

Topic link icon Conventions de la syntaxe Transact-SQL

-- Syntax for SQL Server and Azure SQL Database  
  
SET DATEFIRST { number | @number_var }   

-- Syntax for Azure SQL Data Warehouse and Parallel Data Warehouse  
  
SET DATEFIRST 7 ;  

nombre | @var_nombre
Nombre entier indiquant le premier jour de la semaine. Il peut être une des valeurs suivantes.

ValuePremier jour de la semaine
1Lundi
2Mardi
3Mercredi
4Jeudi
5Vendredi
6Samedi
7 (valeur par défaut, États-Unis des États-Unis)Dimanche

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

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

La spécification SET DATEFIRST n'a aucun effet sur DATEDIFF. DATEDIFF utilise toujours Dimanche comme le premier jour de la semaine pour que la fonction soit déterministe.

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

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  

-- SET DATEFIRST to U.S. English default value of 7.  
SET DATEFIRST 7;  
  

Instructions SET ( ; Transact-SQL ) ;

Ajouts de la communauté

AJOUTER
Afficher: