datetimeoffset (Transact-SQL)

saat dilimi tanıma ve 24 saatlik temel bir gün saat ile birleştirilmiş bir tarih tanımlar.

Tüm genel bakış için Transact-SQLBkz:tarih ve saat veri türleri ve İşlevler, Tarih ve Saat İşlevleri (Transact-SQL).Bilgi ve tarih ve saat veri türleri ve işlevleri ortaktır örnekler için bkz: Tarih ve saat veri kullanma.

datetimeoffset açıklaması

Özellik

Değer

Sözdizimi

datetimeoffset [ (fractional seconds precision) ]

Kullanım

@ MyDatetimeoffset BİLDİRMEKdatetimeoffset(7)

Tablo tablo1 oluşturun (Sütun1 datetimeoffset(7) )

Varsayılan dize hazır bilgi biçimleri ( kapalıiçin -düzey istemcikullanılır)

: yyyy-mm-dd: ss [.NNNNNNN] [{+ |-} ss: dd]

"Geriye dönük uyumluluğu aşağıdüzey istemciler için" daha fazla bilgi için bkz: kısmında Tarih ve saat veri kullanma.

Tarih aralık

0001-01-01 through 9999-12-31

Ocak 1,1 m.s.31 Aralık 9999 m.s.

Zaman aralık

00: 00: 00 23:59:59.9999999 ile

aralıksaat dilimi uzaklığı

  • -14: +14 ile 00: 00

Öğe aralıkları

yyyy 0001 bir yıl temsil 9999 arasında değişen dört hanelidir.

mm, 01 ile belirtilen yıldaki ay gösteren 12 arasında değişen iki basamak olur.

GG 01 ile belirtilen ayın gününü gösteren 31 ay bağlı arasında iki basamaktır.

hh Saat temsil 23 için 00 değişen iki basamak sayısıdır.

mm, dakikayı temsil eden 59, 00-arasında iki basamak olur.

ss ikinci temsil 59 için 00 değişen iki basamak olur.

n * Kesirli saniye temsil eden 9999999 için 0 arasında yedi basamak sıfırdır.

ss o aralık -14 ile +14 iki basamaktan oluşur.

AA o aralık 00 59 iki basamaktan oluşur.

Karakter uzunluğu

26 pozisyonları en az (yyyy-AA-GG:: ss {+ |-} ss: dd) en fazla 34: (yyyy-mm-dd: ss.NNNNNNN {+ |-} ss: dd)

Duyarlık, Ölçek

Belirtilen ölçekSonuç (duyarlık, Ölçek)Sütun uzunluğu (bayt)Kesirli saniye duyarlık
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

Depolama boyutu

Sabit 10 bayt vermektedir kesirli ikinci duyarlık varsayılan varsayılandır.

Doğruluk

100 nanosaniye şeklindedir

Varsayılan değer

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

Calendar

Gregoryen takvim

Kullanıcı tanımlı kesirli ikinci duyarlık

Evet

Saat dilimi uzaklığı farkında ve korunması

Evet

Farkında ışığından yararlanma

Hayır

Desteklenen dize Literal biçimleri datetimeoffset için

Aşağıdaki tablo desteklenen ISO 8601 dize hazır bilgi biçimleri listeler datetimeoffset.Alfabetik, sayısal hakkında daha fazla bilgi için unseparated ve saat biçimleri tarih ve saat bölümleri için datetimeoffsetbakın Tarih (Transact-SQL) ve saat (Transact-SQL).

ISO 8601

Açıklama

yyyy-AA-DDThh:mm:ss [.NNNNNNN] [{+ |-} ss: dd]

Bu iki biçimi dil ve VBLONGDATE ayarlama oturum yerel ayar ayarları etkilenmez.Boşluklar kabul edilmez arasında datetimeoffset ve datetime bölümleri.

yyyy-AA-DDThh:mm:ss [.NNNNNNN] z (utc)

Bu biçim tarafından ISO tanımı gösterir datetime bölümü ifade eşgüdümlü evrensel saat (utc).Örneğin, 1999-12-12 12:30:30.12345-07: 00 temsil 1999-12-12 19:30:30.12345Z.

Saat dilimi uzaklığı

Bir saat dilimi uzaklığı belirtir bir bölge için utc uzaklığı bir time veya datetime değer.saat dilimi uzaklığı temsil olarak [+ |-] ss: dd:

  • hh iki basamak o aralık 00 ile 14 ve kaç saat saat diliminde temsil uzaklık.

  • AA, 00 ' saat diliminde ek dakika sayısını temsil eden 59 arasında değişen iki basamak olan uzaklığı.

  • + (artı) veya -bir saat dilimi için zorunlu işareti (eksi) Ofset.Bu saat dilimi mahsup olup olmadığını gösterir eklendiğinde veya yerel saatedinmek için utc saat toplanabilir.Geçerli aralık saat dilimi uzaklığı-14 ise: +14 00: 00.

saat dilimi mahsup aralık xsd şema tanımı W3C xml standardına uygun ve SQL 2003 standart tanımı, 12: 59 +14 biraz farklıdır: 00.

İsteğe bağlı bir tür parametresi fractional seconds precision kesirli kısmını basamak sayısını belirtirsaniye.Bu değer 0 ile 7 (100 nanosaniye şeklindedir) bir tamsayı olabilir.Varsayılan fractional seconds precision olan vermektedir (yedi basamak Kesirli saniye parçasının).

Verileri veritabanında depolanan ve işlenen, karşılaştırma, sıralanmış ve sunucu utc olarak dizine.saat dilimi uzaklığı korunur alımı için veritabanında.

Verilen saat dilimi uzaklığı kabul ışığından yararlanma saat (dst farkında ve ayarlanmış herhangi verilen) olmasını datetime içindeki dst dönem.

İçin datetimeoffset yazın, utc ve yerel (kalıcı veya dönüştürülen saat dilimi için uzaklık) datetime değerinin doğrulanması sırasında INSERT, update, aritmetik, convert veya atama işlemleri.Geçersiz utc veya yerel algılanması (kalıcı veya dönüştürülen saat dilimi için uzaklık) datetime değerini Yükselt bir geçersiz değer hatası.Örneğin, 9999-12-31 10: 10: 00 utc ancak taşma geçerli yerel saat saat dilimi uzaklığı +13: 50.

ANSI ve ISO 8601 uygunluk

ANSI ve ISO 8601 uygunluk bölümlerini tarih ve saat konular uygulamak için datetimeoffset.

Örnekler

Aşağıdaki örnek, bir dize her türüne çevrim sonuçlar karşılaştırır date ve time veri türü.

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

Sonuç kümesi buradadır.

Veri türü

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