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 |
|
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 |
Zobacz także