Ustaw format daty (Transact-SQL)

Ustawia kolejność części data dzień, miesiąc i rok do interpretacji date, smalldatetime, datetime, datetime2 i datetimeoffset ciągów znaków.

Przegląd wszystkich Transact-SQL data i czas typów danych i funkcji, zobacz Funkcje daty i godziny (Transact-SQL).Informacje i przykłady, które są wspólne dla data i czas typów danych i funkcji, zobacz Data i czas danych.

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

Składnia

SET DATEFORMAT { format | @format_var } 

Argumenty

  • format | **@**format_var
    Jest rzędem części data .Valid parameters are mdy, dmy, ymd, ydm, myd, and dym.Mogą być Unicode lub zestawów znaków dwubajtowych (zestaw znaków dwubajtowych) konwertowane na standard Unicode.USAAngielski wartością domyślną jest mdy.Domyślny format daty wszystkich obsługi języków można znaleźć w sp_helplanguage (języka Transact-SQL).

Uwagi

Format daty ydm nie jest obsługiwana dla date, datetime2 i datetimeoffset typów danych.

Efekt ustawienia Format daty interpretacji ciągów znaków może być inna dla datetime i smalldatetime wartości niż date, datetime2 i datetimeoffset wartości zależności ciąg formatu.To ustawienie dotyczy interpretacji ciągi znaków, są konwertowane na wartości data do przechowywania w bazie danych.Nie wpływa na wyświetlanie danych typu wartości data , które są przechowywane w bazie danych lub formatu magazynu.

Niektóre formaty ciągów znaków, na przykład ISO 8601 są interpretowane niezależnie od ustawienia Format daty.Aby uzyskać więcej informacji na temat używania format daty z różnych formatów, zobacz "Ciąg literału daty i czasu formaty" sekcja w przy użyciu daty i czasu danych.

Ustawienie USTAWIĆ format daty jest zestaw na wykonać lub czas i nie analizować czas.

Ustaw format daty zastępuje ustawienie z formatu niejawna data Ustaw język.

Uprawnienia

Wymaga członkostwa w public rolę.

Przykłady

W poniższym przykładzie użyto innej data ciągi jako nakłady w sesjach z tą samą DATEFORMAT Ustawienia.

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