SET DATEFORMAT (Transact-SQL)

 

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

Définit l’ordre des parties de date mois, jour et année pour interpréter les date, smalldatetime, datetime, datetime2 et datetimeoffset chaînes de caractères.

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

Topic link icon Conventions de la syntaxe Transact-SQL

-- Syntax for SQL Server, Azure SQL Database, Azure SQL Data Warehouse, Parallel Data Warehouse  
  
SET DATEFORMAT { format | @format_var }   

format | @format_var
Ordre des parties de la date. 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. La valeur par défaut La valeur par défaut est MJA. Pour la valeur par défaut DATEFORMAT de tous les prendre en charge des langues, consultez sp_helplanguage (Transact-SQL).

DATEFORMAT ydm n’est pas pris en charge pour date, datetime2 et datetimeoffset des types de données.

L’effet du paramètre DATEFORMAT sur l’interprétation de chaînes de caractères peut-être être différente datetime et smalldatetime que des valeurs date, datetime2 et datetimeoffset valeurs, selon le format de chaîne. Ce paramètre affecte l'interprétation de chaînes de caractères lorsqu'elles sont converties en valeurs de date pour le stockage dans la base de données. Il n'affecte pas l'affichage des valeurs du type de données date qui sont stockées dans la base de données ni le format de stockage.

Certains formats de chaînes de caractères, par exemple ISO 8601, sont interprétés indépendamment du paramètre DATEFORMAT.

L'option SET DATEFORMAT est appliquée lors de l'exécution, et non pas lors de l'analyse.

SET DATEFORMAT remplace la date implicite paramètre de format SET LANGUAGE.

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

L'exemple suivant utilise différentes chaînes de date comme entrées dans les sessions avec le même paramètre DATEFORMAT.

-- 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  

-- Set date format to month/day/year.  
SET DATEFORMAT mdy;  
DECLARE @datevar datetime2 = '12/31/2012 09:01:01.1234567';  
SELECT @datevar;  
  

Instructions SET (Transact-SQL)

Ajouts de la communauté

AJOUTER
Afficher: