Aracılığıyla paylaş


datetime2 (Transact-SQL)

Defines a date that is combined with a time of day that is based on 24-hour clock.datetime2 can be considered as an extension of the existing datetime type that has a larger date range, a larger default fractional precision, and optional user-specified precision.

Tüm genel bakış için Transact-SQL Tarih ve saat veri türü ve işlevler, bkz: Tarih ve saat veri türleri ve işlevler (Transact-SQL). Bilgi ve tarih ve saat veri türü ve işlevleri için ortak olan bir örnek için bkz: Tarih ve saat veri kullanma.

datetime2 açıklaması

Özellik

Değer

Sözdizimi

datetime2 [ (fractional seconds precision) ]

Kullanım

@ MyDatetime2 BILDIRIN. datetime2(7)

tablo Table1 CREATE (Sütun1 datetime2(7) )

Varsayılan harflerden oluşan dize biçimi

(kullanılan kapalı-düzey istemci)

YYYY-AA-GG SS: dd: SS [.fractional saniye]

Daha fazla bilgi için bkz: "geri uyumluluk için kapalı-istemcilerini düzey" bölümü Tarih ve saat veri kullanma.

Tarih aralık

0001-01-01-9999-12-31

Ocak 1,1 Aralık 31, 9999 AD ile AD

saat aralık

23:59:59.9999999-00: 00: 00

Saat dilimini aralık mahsup

None

Öğe aralıkları

YYYY yıl gösteren 0001 ile 9999 arasında bir dört basamaklı, sayıdır.

AA, belirtilen yılın bir ayını gösteren 01 ile 12'ye arasındaki iki basamaklı, bir sayıdır.

DD-31 ayın belirtilen ayın bir gününü gösteren bağlı 01 ile arasında iki basamaklı sayıdır.

hh saati temsil eden 23, 00 ' arasındaki iki basamaklı, bir sayıdır.

mm dakikayı gösteren 59, 00 ' arasındaki iki basamaklı, bir sayıdır.

ss saniyeyi gösteren 59, 00 ' arasındaki iki basamaklı bir sayı, olur.

n * kesirli saniye temsil eden bir sıfır için yedi basamaklı 0 ile 9999999 sayıdır.

Karakter uzunluğu

en fazla 27 (YYYY-AA-GG hh:mm:ss.0000000) için 19 pozisyonlar en az (YYYY-AA-GG SS: dd: ss)

Duyarlık, Ölçek

0 ile 7 basamak içeren bir 100ns doğruluğunu.Varsayılan duyarlık, 7 basamaktan oluşur.

Depolama boyutu

precisions için 6 baytı küçüktür precisions 3 ve 4 3; 7 bayt.Tüm diğer precisions 8 bayt gerektirir.

Doğruluğu

100 nanosaniye şeklindedir

Varsayılan değer

1900-01-01 00:00:00

Calendar

Gregoryen takvim

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

Evet

Saat dilimi uzaklığı tanımayan ve koruma

Hayır

Gün ışığından yararlanma saatine bilgisi kaydediliyor

Hayır

Veri türü meta veriler için bkz: sys.systypes (Transact-SQL) veya TYPEPROPERTY (Transact-SQL). Bazı tarih ve saat) veri türleri için duyarlık ve ölçeği değişkendir.sütun ölçeğini ve duyarlılığını edinmek için , bkz: COLUMNPROPERTY (Transact-SQL), COL_LENGTH (Transact-SQL), veya sys.Columns (Transact-SQL).

Desteklenen dize literal biçimleri datetime2 için

Aşağıdaki tablolarda desteklenen ISO 8601 ve ODBC dize literal biçimleri listelenmiştir. datetime2. Tarih ve saat bölümlerinin alfabetik, sayısal, unseparated ve zaman biçimleri hakkında daha fazla bilgi için datetime2, bkz: Tarih (Transact-SQL) ve saat (Transact-SQL).

iso 8601

Açıklamaları

YYYY-MM-DDThh:mm:ss[.nnnnnnn]

YYYY-MM-DDThh:mm:ss[.nnnnnnn]

Bu biçim, küme, DIL ve küme DATEFORMAT oturum yerel ayar ayar ayarları tarafından etkilenmez.The T, the colons (:) and the period (.) are included in the dize literal, for example '2007-05-02T19:58:47.1234567'.

ODBC

Açıklama

{ts ' yyyy-aa-gg ss: dd: SS [.fractional saniye]'}

Belirli ODBC API:

  • Kesirli saniye gösterir, ondalık virgülün sağındaki basamak sayısı, 7 (100 nanosaniye şeklindedir) 0'dan belirtilebilir.

  • Içinde SQL Server 2008, 10'a ayarlamak, uyumluluk düzey ile literal dahili olarak yeni eşler time yazın.

ANSI ve ISO 8601 uyumluluğu

ANSI ve ISO 8601 uyumluluğunu Tarih and saat apply to datetime2.

Örnekler

Aşağıdaki örnek bir dize her çevrim sonuçlarını 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';

Here is the result set.

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