Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:SQL Server
Azure SQL Database
Spravovaná instance Azure SQL
Azure Synapse Analytics
Analytics Platform System (PDW)
Koncový bod analýzy SQL v Microsoft Fabric
Sklad v Microsoft Fabric
Databáze SQL v Microsoft Fabric
Nastavuje pořadí měsíců, dnů a ročních částí pro interpretaci řetězců znaků dat. Tyto řetězce jsou typů date, smalldatetime, datetime, datetime2 nebo datetimeoffset.
Přehled všech datových typů a funkcí Transact-SQL data a času najdete v tématu datové typy a funkce data a času (Transact-SQL).
Syntaxe
SET DATEFORMAT { format | @format_var }
Arguments
formát | @format_var
Je pořadí datových částí. Platné parametry jsou mdy, dmy, ymd, ydm, myd a dym. Může být převedena buď Unicode, nebo dvoubajtové znakové sady (DBCS) do Unicode. Výchozí pravidlo americké angličtiny je mdy. Pro výchozí formát DATEu všech podpůrných jazyků viz sp_helplanguage (Transact-SQL).
Poznámky
DATEFORMAT ydm není podporován pro datové typy date, datetime2 a datetimeoffset .
Nastavení DATEFORMAT může interpretovat znakové řetězce různě u datových typů v závislosti na jejich formátu řetězce. Například interpretace datetime a smalldatetime nemusí odpovídat date, datetime2 nebo datetimeoffset. DATEFORMAT ovlivňuje interpretaci řetězců znaků, když jsou převáděny na datové hodnoty pro databázi. Neovlivňuje to zobrazení datových typů ani jejich formát úložiště v databázi.
Některé formáty znakových řetězců, například ISO 8601, jsou interpretovány nezávisle na nastavení DATEFORMAT.
Nastavení SET DATEFORMAT je nastaveno při spuštění nebo běhu a nikoli při parse.
SET DATEFORMAT přepisuje implicitní nastavení formátu data v SET LANGUAGE.
Povolení
Vyžaduje členství ve veřejné roli .
Examples
Následující příklad používá různé datové řetězce jako vstupy v relacích se stejným DATEFORMAT nastavením.
-- 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