DateTime (Transact-SQL)

Bir günün saatini 24 saatlik temel kesirli saniye ile birlikte bir tarih tanımlar.

Not

Use time, date, datetime2 ve datetimeoffset Yeni bir iş için veri türleri. Bu tür SQL Standard ile hizalama.Daha taşınabilir kullanılırlar.time, datetime2 and datetimeoffset provide more seconds precision.datetimeoffset provides time zone support for globally deployed applications.

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.

DateTime açıklaması

Özellik

Değer

Sözdizimi

datetime

Kullanım

@ MyDatetime BILDIRIN. datetime

tablo Table1 CREATE (Sütun1 datetime )

Varsayılan dize literal biçimler

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

Geçerli değil

Tarih aralık

1 Ocak 1753, ile 31 Aralık 9999'a kadar

saat aralık

23:59:590,997-00: 00: 00

Saat dilimini aralık mahsup

None

Öğe aralıkları

YYYY gelen 1753 ile 9999 yılda temsil eden dört basamaklı ' dir.

AA iki basamak, 01 ile belirtilen yıldaki ay temsil eden 12 kadar olur.

GG, iki basamaklı, 01 ' bir belirtilen ayın gününü gösteren 31 ayın bağlı arasında olur.

hh saat temsil eden 23, 00 ' arasında iki basamaklı ' dir.

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

ss saniye temsil eden 59, 00 ' arasında iki basamaklı olur.

n * kesirli saniye temsil eden 999 için 0 ile arasında üç basamağa sıfırdır.

Karakter uzunluğu

19 pozisyonlar en az 23 en büyük

Depolama boyutu

8 bayt

Doğruluğu

.000.003 Veya.007 saniyelik artışları için yuvarlanır.

Varsayılan değer

1900-01-01 00:00:00

Calendar

Gregoryen (yaş aralık tam olmaması.)

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

Hayır

Saat dilimi uzaklığı tanımayan ve koruma

Hayır

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

Hayır

Desteklenen dize literal biçimler datetime için

Aşağıdaki tablolarda desteklenen dize literal biçimleri listelenmiştir. datetime. ODBC dışında datetime Dize hazır bilgi, tek tırnak işaretleri ('), örneğin 'string_literaL' dir. Ortam değilse us_english, dize hazır bilgi, N 'string_literaL' biçiminde olmalıdır.

Sayısal

Açıklama

Tarih biçimi:

[0] 4/15 / [19] 96--(mdy)

[0] 4 - 15-[19] 96--(mdy)

[0] 4.15. [19] 96--(mdy)

[0] 4 [19] / 96/15--(myd)

15 / [0] 4 [19] / 96--(dmy)

15 [19] / 96 / [0] 4--(dym)

[19] 96 veya 15 / [0] 4--(ydm)

[19] 96 / [0] 4/15--(ymd)

Saat biçimi:

14:30

14:30[:20:999]

14:30[:20.9]

04:00:00 am

16:00:00 am

Tarih verileri, belirtilen için sayısal bir ay belirtebilirsiniz.Örneğin, 20/5/97, May 1997 yirminci günü temsil eder.Sayısal, tarih biçimi kullandığınızda, ay, gün ve yılı kullandığı eğik çizgiyle (/), tire (-) ve ayırıcı olarak nokta (.) bölme bir dize belirtin.Bu dize, aşağıdaki biçimde görünmesi gerekir:

  • number separator number separator number [time] [time]

Dil ayarlandığında us_englishvarsayılan sipariş tarih için mdy ' dir.Tarih sırası kullanarak değiştirebileceğiniz küme dateformat ekstresi.

küme DATEFORMAT ayarı, tarih değerlerini yorumlama şeklini belirler.Sırasını ayarlar eşleşmezse, değerleri tarihleri, aralık dışı olduklarını veya değerleri misinterpreted yorumlanır değil.Örneğin, 10/12/08 altı tarihlerini DATEFORMAT ayarına bağlı olarak yorumlanabilir.Four-part bir yıl, yıl olarak yorumlanır.

Alfabetik

Açıklama

[Il] [/ 15] [,] Nisan 1996

15 [,] [Il] [19] 96 Nis

Nisan 1996 [15] [il]

[15] Nis [il] [,] 1996

15 Nis [il] [,] [19] 96

15 [19] 96 Nis [il]

[15] [il] 1996 Nis

1996 NİS [il] [15]

[il] [15] 1996 NİS

Tarih verisi, tam ay adı olarak belirtilen bir ayda bir sahip belirtebilirsiniz.Örneğin, Nisan veya ayın kısaltmasını Nis, geçerli dilde; belirtilen virgül isteğe bağlıdır ve büyük/küçük harf yok sayılır.

Bazı alfabetik tarih biçimlerini kullanma yönergeleri aşağıda verilmektedir:

  • Tarih ve saat veri tek tırnak işareti (') içine alın.Ingilizce dışındaki dillerde kullanma N '

  • Ayraç içine bir karakter isteğe bağlıdır.

  • Yılın son iki basamağını yalnızca belirtirseniz, değer, değerinin son iki basamağını daha az iki haneli yıl kesme yapılandırma seçeneği olarak kesme yılda aynı olan yüzyıl içinde bulunduğunuz.Değerler sıfırdan büyük veya eşit bu seçeneğin değeri kesme yıl önce gelen yüzyıl arasındadır.Örneğin, iki haneli yıl kesme 2050 (varsayılan) ise, 25 2025 yorumlanır ve 50 1950 yorumlanır.Belirsizlik önlemek için , dört basamaklı yıl kullanın.

  • Ayın ilk günü, günün yoksa sağlanır.

Alfabetik formunda ay belirttiğinizde, küme DATEFORMAT oturum ayarı uygulanmaz.

iso 8601

Açıklama

YYYY - AA - DDThh:mm:ss [.mmm]

YYYYMMDDThh:mm:ss [.mmm]

Örnekler:

  • 2004 - 05 - 23T14:25:10

  • 2004 - 05 - 23T14:25:10,487

ISO 8601 biçimi kullanmak için , her öğenin aşağıdaki biçimde belirtmeniz gerekir.Bu da içeren T, iki nokta üst üste (:) ve bir nokta (.) biçiminde gösterilir.

Köşeli ayraçlar, ikinci bileşeni bölümü isteğe bağlı olduğunu gösterir.24 Saatlik biçimde saat bileşeni belirtildi.

T saat kısmını başlangıcını gösterir datetime Değer.

ISO 8601 biçimini kullanmanın avantajı, uluslararası bir standart belirli belirtimiyle olmasıdır.Ayrıca, bu biçim tarafından küme DATEFORMAT etkilenmez veya küme DİLİ ayarı.

Unseparated

Açıklama

ALAN ss: dd: SS [.mmm]

ODBC

Açıklama

{ts' 1998-05-02 01:23:56.123 '}

{d ' 1990 - 10 - 02 '}

{t '13:33:41'}

ODBC API ODBC zaman damgası veri çağrıları tarih ve saat değerlerini göstermek için çıkış sıralarını tanımlar.Bu ODBC zaman damgası biçimi tarafından desteklenmeyen OLE DB dil tanımını (DBGUID-SQL) tarafından da desteklenir Microsoft OLE DB sağlayıcı SQL Server. ADO, OLE DB ve ODBC tabanlı Apı'leri kullanan uygulamalar bu ODBC zaman damgası biçimi, tarih ve saatleri göstermek için kullanabilirsiniz.

ODBC zaman damgası çıkış sıralarını biçimi vardır: { literal_type 'constant_value' }:

  • literal_type çıkış sırası türünü belirtir.Zaman damgaları üç vardır. literal_type belirleyicilerine:

    • d = yalnızca tarih

    • t = yalnızca saat

    • TS saat damgası (saat + tarih) =

  • 'constant_value' is the value of the escape sequence.constant_value must follow these formats for each literal_type.

    literal_typeconstant_value Biçimlendir
    d yyyy-aa-gg
    t ss: dd: sn [.fff]
    TS yyyy-aa-gg ss: dd: sn [.fff]

Kesirli ikinci duyarlığı DateTime yuvarlama

datetime değerler süre(saniye).000.003 veya.007 katları için aşağıdaki tabloda gösterildiği gibi yuvarlanır.

Kullanıcı tarafından belirtilen değeri

Sistem saklı değer

01/01/98 23:59:59.999

1998-01-02 00:00:00.000

01/01/98 23:59:59.995

01/01/98 23:59:59.996

01/01/98 23:59:59.997

01/01/98 23:59:59.998

1998-01-01 23:59:59.997

01/01/98 23:59:59.992

01/01/98 23:59:59.993

01/01/98 23:59:59.994

1998-01-01 23:59:59.993

01/01/98 23:59:59.990

01/01/98 23:59:59.991

1998-01-01 23:59:59.990

ANSI ve ISO 8601 uyumluluğu

datetime ANSI veya ISO 8601 uyumlu değil.

Ö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

See Also

Reference