Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Punkt końcowy analizy SQL w usłudze Microsoft Fabric
Hurtownia danych w usłudze Microsoft Fabric
Baza danych SQL w usłudze Microsoft Fabric
Ustala kolejność miesięcy, dni i lat części dat, które służą do interpretacji ciągów znaków dat. Ciągi te mają charakter: date, smalldatetime, datetime, datetime2 lub datetimeoffset.
Aby zapoznać się z omówieniem wszystkich typów danych i funkcji daty i godziny Transact-SQL, zobacz Typy danych i funkcje daty i godziny (Transact-SQL).
Transact-SQL konwencje składni
Składnia
SET DATEFORMAT { format | @format_var }
Arguments
format | @format_var
To kolejność dat części. Ważne parametry to mdy, dmy, ymd, ydm, myd i dym. Może to być konwertowanie na Unicode lub dwubajtowe zestawy znaków (DBCS) na Unicode. Domyślnym językiem angielskim w USA jest mdy. Domyślny format DATE wszystkich języków wspierających można znaleźć w sp_helplanguage (Transact-SQL).
Uwagi
DATEFORMAT ydm nie jest obsługiwany dla typów danych date, datetime2 i datetimeoffset .
Ustawienie DATEFORMAT może interpretować ciągi znaków różnie dla typów danych daty, w zależności od ich formatu. Na przykład interpretacje datetime i smalldatetime mogą nie odpowiadać date, datetime2 lub datetimeoffset. DATEFORMAT wpływa na interpretację ciągów znaków, gdy są one konwertowane na wartości dat dla bazy danych. Nie wpływa to na wyświetlanie wartości typów danych datowych ani na ich format przechowywania w bazie danych.
Niektóre formaty znaków, na przykład ISO 8601, są interpretowane niezależnie od ustawienia DATEFORMAT.
Ustawienie SET DATEFORMAT jest ustawiane w czasie wykonywania lub działania, a nie w czasie parsowania.
SET DATEFORMAT nadpisuje ustawienie formatu daty ukrytej w SET LANGUAGE.
Permissions
Wymaga członkostwa w publicznej roli .
Przykłady
Poniższy przykład wykorzystuje różne łańcuchy dat jako wejścia w sesjach z tym samym DATEFORMAT ustawionym setupem.
-- 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