Udostępnij za pośrednictwem


datetimeoffset (języka Transact-SQL)

Definiuje połączone z czas dzień, w którym ma świadomość strefy czas i jest oparty na zegarze 24-godzinnym data .

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.

datetimeoffset opis

Właściwość

Wartość

Składnia

datetimeoffset [ (fractional seconds precision) ]

Użycie

ZADEKLAROWAĆ @ MyDatetimeoffsetdatetimeoffset(7)

Tworzenie tabeli Tabela1 (Kolumna1 datetimeoffset(7) )

Domyślny ciąg literału formatów (używane dla niedziałający-poziom klient)

RRRR-MM-DD: mm: ss [.NNNNNNN] [{+ |-} gg: mm]

Aby uzyskać więcej informacji zobacz "zgodność z poprzednimi w dółpoziom klientów" sekcja Data i czas danych.

zakresdat

0001-01-01 poprzez 31.12.99

Stycznia 1,1 r. n.e.za pośrednictwem 31 grudnia 9999 r. n.e.

zakresczasu

00: 00: 00 do 23:59:59.9999999

zakresprzesunięcie strefy czasowej

  • -14: 00 do + 14: 00

Element zakresów

RRRR to cztery cyfry, począwszy od 0001 do 9999, które reprezentują roku.

MM jest dwie cyfry od 01 do 12, które reprezentują miesiąca w określonym roku.

DD jest dwóch cyfr z zakresu od 01 do 31 w zależności od miesiąca, reprezentujące dzień miesiąca określony.

hh jest dwucyfrowe od 00 do 23, który reprezentuje godzinę.

mm jest dwucyfrowe od 00 do 59, która reprezentuje minuty.

ss jest dwucyfrowe od 00 do 59, która reprezentuje drugą.

n * wynosi zero do siedmiu cyfr od 0 do 9999999, które reprezentują ułamków sekund.

hh jest zakres od -14 do + 14 dwóch cyfr.

zakres od 00 do 59 mm jest dwóch cyfr.

Długość znaków

minimum pozycji 26 (RRRR-MM-DD: mm: ss {+ |-} gg: mm) z 34 maksymalna (RRRR-MM-DD: mm: ss.NNNNNNN {+ |-} gg: mm)

Skala dokładności,

Określona skalaWynik (precyzja, skala)Kolumna długość (bajtów)Dokładność ułamków sekund
datetimeoffset (34,7)107
datetimeoffset(0) (26,0)80-2
datetimeoffset(1) (28,1)80-2
datetimeoffset(2) (29,2)80-2
datetimeoffset(3) (30,3)93-4
datetimeoffset(4) (31,4)93-4
datetimeoffset(5) (32,5)105-7
datetimeoffset(6) (33,6)105-7
datetimeoffset(7) (34,7)105-7

Limit rozmiaru dla składowania

10 bajtów ustalona jest domyślnym z domyślnymi ułamkowe precision drugiego NS.

Dokładność

100 nanosekundach

Wartość domyślna

1900-01-01 00:00:00 00:00

Calendar

Kalendarz gregoriański

Zdefiniowany przez użytkownika ułamkowe drugiego precision

Tak

ŚWIADOME przesunięcie strefy czasowej i zachowania

Tak

Uwzględniaj pamiętać

Nie

Obsługiwane literału ciągu sprzedaży — formatuje dla datetimeoffset

W poniższej tabela wymieniono obsługiwane formaty literał ciąg w ISO 8601 dla datetimeoffset.Aby uzyskać informacje dotyczące alfabetycznym, numerycznym, nieoddzielone i formaty data i czas części czas datetimeoffset, zobacz Data (języka Transact-SQL) i czas (w języku Transact-SQL).

ISO 8601

Opis

RRRR-MM-DDThh:mm:ss [.NNNNNNN] [{+ |-} gg: mm]

Ustawieniaustawienia regionalne ustawienia języka i USTAWIĆ format daty sesjanie wpływa na tych dwóch formatów. Niedozwolone są spacje między datetimeoffset i datetime części.

RRRR-MM-DDThh:mm:ss [.NNNNNNN] Z (UTC)

Ten format, według definicji ISO wskazuje datetime część powinna być wyrażona w uniwersalnym czasem koordynowanym (UTC).Na przykład, 12:30:30.12345-07 1999-12-12: 00 powinna być reprezentowana jako 19:30:30.12345Z 1999-12-12.

Przesunięcie strefy czasowej

Strefa czas przesunięcia określa przesunięcie strefy od czasu UTC dla time lub datetime wartości.Strefa czas przesunięcie może być reprezentowana jako [+ |-] gg: mm:

  • hh jest zakres od 00 do 14 dwie cyfry i reprezentują liczbę godzin w strefie czas przesunięcie.

  • mm jest dwucyfrowe od 00 do 59, która reprezentuje liczbę dodatkowych minut w strefie czas przesunięcie.

  • + (plus) lub – (minus) jest znak nakazu dla strefy czas przesunięcie.Wskazuje, czy przesunięcie strefy czas dodane lub odjęte od czas UTC uzyskanie lokalnego czas.Prawidłowy zakres czas jest przesunięcie strefy z -14: 00 do + 14: 00.

Przesunięcia strefy zakres czas następuje standard W3C XML definicji schematu XSD i nieznacznie różni się od SQL 2003 standardowej definicji, 12: 59 do + 14: 00.

Parametr opcjonalny typu fractional seconds precision Określa liczbę cyfr części ułamkowej sekund.Wartość ta może być liczbą całkowitą z 0-7 (100 nanosekundach).Domyślnie fractional seconds precision jest NS (siedem cyfr części ułamkowej sekundy).

Dane są przechowywane w bazie danych i przetworzone, w porównaniu, sortowane i indeksowane w serwerze według czasu UTC.Strefa czas przesunięcie zostaną zachowane w bazie danych do pobrania.

Strefa czas przesunięcie będą przyjmowane Uwzględniaj czas (DST) aware oraz skorygowanej dowolnego podane datetime w okresie czasu letniego.

Dla datetimeoffset wpisane, UTC a lokalnym (trwałe lub przekonwertowane czas strefy przesunięcie) datetime wartości będą sprawdzane podczas wstawiania, aktualizacji, operacje arytmetyczne, konwersji lub przypisywanie operacji.Wykrywanie nieprawidłowy czas UTC lub lokalnych (do strefy trwałe lub przekonwertowane czas przesunięcie) datetime podniesie wartość błędu nieprawidłową wartość.Na przykład 9999-12-31 10: 10: 00 jest prawidłowy w UTC, ale przepełnienie w lokalnym czas przesunięcie strefy czas + 13: 50.

ANSI i ISO 8601 zgodności

ANSI i ISO 8601 zgodności części data i czas tematy stosuje się do datetimeoffset.

Przykłady

Poniższy przykład porównuje wyniki rzutowania ciąg każdemu date i time typu danych.

SELECT 
     CAST('2007-05-08 12:35:29. 1234567 +12:15' AS time(7)) AS 'time' 
    ,CAST('2007-05-08 12:35:29. 1234567 +12:15' AS date) AS 'date' 
    ,CAST('2007-05-08 12:35:29.123' AS smalldatetime) AS 
        'smalldatetime' 
    ,CAST('2007-05-08 12:35:29.123' AS datetime) AS 'datetime' 
    ,CAST('2007-05-08 12:35:29.1234567+12:15' AS datetime2(7)) AS 
        'datetime2'
    ,CAST('2007-05-08 12:35:29.1234567 +12:15' AS datetimeoffset(7)) AS 
        'datetimeoffset'
    ,CAST('2007-05-08 12:35:29.1234567+12:15' AS datetimeoffset(7)) AS
        'datetimeoffset IS08601';

Oto zestaw wyników.

Typ danych

Output

Time

12:35:29.1234567

Date

2007-05-08

Smalldatetime

2007-05-08 12:35:00

Datetime

2007-05-08 12:35:29.123

datetime2

2007-05-08 12:35:29.1234567

Datetimeoffset

2007-05-08 12:35:29.1234567 +12:15