Delen via


DATUMFORMAT INSTELLEN (Transact-SQL)

Van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL Analytics-eindpunt in Microsoft FabricMagazijn in Microsoft FabricSQL-database in Microsoft Fabric

Stelt de volgorde vast van de maand-, dag- en jaardatumdelen voor het interpreteren van datumtekenreeksen. Deze strings zijn van het type date, smalldatetime, datetime, datetime2 of datetimeoffset.

Zie datum- en tijdgegevenstypen en -functies (Transact-SQL)voor een overzicht van alle Transact-SQL datum- en tijdgegevenstypen en -functies.

Transact-SQL syntaxis-conventies

Syntaxis

SET DATEFORMAT { format | @format_var }   

Arguments

formatteren | @format_var
Is de volgorde van de datumonderdelen. Geldige parameters zijn mdy, dmy, ymd, ydm, myd en dym. Kan zowel Unicode- als double-byte character sets (DBCS) zijn omgezet naar Unicode. De standaard in het Amerikaanse Engels is mdy. Voor het standaard DATEFORMAT van alle ondersteuningstalen, zie sp_helplanguage (Transact-SQL).

Opmerkingen

De DATEFORMAT ydm wordt niet ondersteund voor datatypes date, datetime2 en datetimeoffset .

De DATEFORMAT-instelling kan tekenreeksen verschillend interpreteren voor datumdatatypes, afhankelijk van hun reeksformaat. Bijvoorbeeld, datetime - en smalldatetime-interpretaties kunnen niet overeenkomen met date, datetime2 of datetimeoffset. DATEFORMAT beïnvloedt de interpretatie van tekenreeksen wanneer deze worden omgezet naar datumwaarden voor de database. Het beïnvloedt de weergave van de datatypewaarden niet, noch het opslagformaat in de database.

Sommige tekenreeksformaten, bijvoorbeeld ISO 8601, worden onafhankelijk geïnterpreteerd van de DATEFORMAT-instelling.

De instelling van SET DATEFORMAT wordt ingesteld tijdens uitvoerings- of uitvoeringstijd en niet tijdens parsetijd.

SET DATEFORMAT overschrijft de impliciete datumformaatinstelling van SET LANGUAGE.

Permissions

Vereist lidmaatschap van de openbare rol.

Voorbeelden

Het volgende voorbeeld gebruikt verschillende datumreeksen als input in sessies met dezelfde 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  

Zie ook

SET-instructies (Transact-SQL)