SET DATEFORMAT (Transact-SQL)SET DATEFORMAT (Transact-SQL)

S’APPLIQUE À : ouiSQL Server (à partir de 2008) ouiAzure SQL Database ouiAzure SQL Data Warehouse ouiParallel Data Warehouse APPLIES TO: yesSQL Server (starting with 2008) yesAzure SQL Database yesAzure SQL Data Warehouse yesParallel Data Warehouse

Définit le classement des parties de date mois, jour et année pour interpréter les chaînes de caractères de date.Sets the order of the month, day, and year date parts for interpreting date character strings. Ces chaînes sont de type date, smalldatetime, datetime, datetime2 ou datetimeoffset.These strings are of type date, smalldatetime, datetime, datetime2, or datetimeoffset.

Pour obtenir une vue d’ensemble de tous les types de données et fonctions de date et d’heure Transact-SQLTransact-SQL, consultez Types de données et fonctions de date et d’heure (Transact-SQL).For an overview of all Transact-SQLTransact-SQL date and time data types and functions, see Date and Time Data Types and Functions (Transact-SQL).

Icône de lien de rubrique Conventions de la syntaxe Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SyntaxeSyntax

SET DATEFORMAT { format | @format_var }   

ArgumentsArguments

format | @format_varformat | @format_var
Ordre des parties de la date.Is the order of the date parts. Les paramètres valides sont mdy, dmy, ymd, ydm, myd et dym.Valid parameters are mdy, dmy, ymd, ydm, myd, and dym. Il peut s'agir du format Unicode ou d'un jeu de caractères codés sur deux octets (DBCS) converti en Unicode.Can be either Unicode or double-byte character sets (DBCS) converted to Unicode. La valeur par défaut pour l’anglais des États-Unis est mdy.The U.S. English default is mdy. Pour connaître le paramètre DATEFORMAT par défaut de toutes les langues prises en charge, consultez sp_helplanguage (Transact-SQL).For the default DATEFORMAT of all support languages, see sp_helplanguage (Transact-SQL).

Notes Remarks

Le paramètre DATEFORMAT ydm n’est pas pris en charge pour les types de données date, datetime2 et datetimeoffset.The DATEFORMAT ydm isn't supported for date, datetime2, and datetimeoffset data types.

Le paramètre DATEFORMAT peut interpréter des chaînes de caractères différemment pour les types de données de date, en fonction de leur format de chaîne.The DATEFORMAT setting may interpret character strings differently for date data types, depending on their string format. Par exemple, les interprétations datetime et smalldatetime peuvent ne pas correspondre à date, datetime2 ou datetimeoffset.For example, datetime and smalldatetime interpretations may not match date, datetime2, or datetimeoffset. Le paramètre DATEFORMAT affecte l’interprétation des chaînes de caractères quand elles sont converties en valeurs de date pour la base de données.DATEFORMAT affects the interpretation of character strings as they're converted to date values for the database. Il n’affecte pas l’affichage des valeurs du type de données Date ni leur format de stockage dans la base de données.It doesn't affect the display of date data type values, nor their storage format in the database.

Certains formats de chaînes de caractères, par exemple ISO 8601, sont interprétés indépendamment du paramètre DATEFORMAT.Some character string formats, for example ISO 8601, are interpreted independently of the DATEFORMAT setting.

L'option SET DATEFORMAT est appliquée lors de l'exécution, et non pas lors de l'analyse.The setting of SET DATEFORMAT is set at execute or run time and not at parse time.

SET DATEFORMAT remplace le paramètre de format de date implicite de SET LANGUAGE.SET DATEFORMAT overrides the implicit date format setting of SET LANGUAGE.

PermissionsPermissions

Nécessite l'appartenance au rôle public .Requires membership in the public role.

ExemplesExamples

L'exemple suivant utilise différentes chaînes de date comme entrées dans les sessions avec le même paramètre DATEFORMAT.The following example uses different date strings as inputs in sessions with the same DATEFORMAT setting.

-- Set date format to day/month/year.  
SET DATEFORMAT dmy;  
GO  
DECLARE @datevar datetime2 = '31/12/2008 09:01:01.1234567';  
SELECT @datevar;  
GO  
-- Result: 2008-12-31 09:01:01.123  
SET DATEFORMAT dmy;  
GO  
DECLARE @datevar datetime2 = '12/31/2008 09:01:01.1234567';  
SELECT @datevar;  
GO  
-- Result: Msg 241: Conversion failed when converting date and/or time -- from character string.  
  
GO  

 Voir aussiSee Also

Instructions SET (Transact-SQL)SET Statements (Transact-SQL)