tarih saat (Transact-SQL)
Bir saat 24 saatlik temel kesirli saniye ile birlikte tarih tanımlar.
Not
Use time, date, datetime2 ve datetimeoffset veri türleri için yeni iş.Bu türleri SQL standardına hizalayın.Daha kolay taşınabilir.time, datetime2 ve datetimeoffset sağlamak daha fazla saniye duyarlık.datetimeoffsetGenel olarak dağıtılan uygulamalar için saat dilimi desteği sağlar.
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.
DateTime açıklaması
Özellik |
Değer |
---|---|
Sözdizimi |
datetime |
Kullanım |
@ MyDatetime BİLDİRMEKdatetime Tablo tablo1 oluşturun (Sütun1 datetime ) |
Varsayılan dize hazır bilgi biçimleri ( kapalıiçin -düzey istemcikullanılır) |
Uygulanamaz |
Tarih aralık |
01.01.53, 31.12.99 aracılığıyla |
Zaman aralık |
00: 00: 00 23:59:590,997 ile |
aralıksaat dilimi uzaklığı |
Hiçbiri |
Öğe aralıkları |
yyyy dört basamaklı bir yıl temsil 9999 aracılığıyla 1753'den ' dir. 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 999 için 0 arasında üç basamak sıfırdır. |
Karakter uzunluğu |
19 pozisyonları en az 23 en fazla |
Depolama boyutu |
8 bayt |
Doğruluk |
.000,.003 Veya.007 saniye artışlarla yuvarlak |
Varsayılan değer |
1900-01-01 00:00:00 |
Calendar |
Gregoryen (yıl tam aralık içermez.) |
Kullanıcı tanımlı kesirli ikinci duyarlık |
Hayır |
Saat dilimi uzaklığı farkında ve korunması |
Hayır |
Farkında ışığından yararlanma |
Hayır |
Desteklenen dize Literal biçimleri için datetime
Desteklenen dize literal biçimleri aşağıdaki tablolarda listelenmektedir datetime.odbc, haricinde datetime dize hazır olan tek tırnak işareti ('), örneğin, 'string_literaL'.Ortam ise us_english, dize n 'string_literaL' biçiminde olmalıdır.
Sayısal |
Açıklama |
---|---|
Tarih biçimleri: [0] 4/15 / [19] 96--(AGY) [0] 4 - 15-[19] 96--(AGY) [0] 4.15.[19] 96--(AGY) [0] 4 / [19] 96/15--(myd) 15 / [0] 4 / [19] 96--(GAY) 15 / [19] 96 / [0] 4--(dym) [19] 96/15 / [0] 4--(ydm) [19] 96 / [0] 4/15--(YAG'dir) Saat biçimleri: 14:30 14:30[:20:999] 14:30[:20.9] 4 am 4 PM |
Bir sayısal ay belirtilen tarih verileri belirtebilirsiniz.Örneğin, 5/20/97 May 1997 yirminci günü temsil eder.Sayısal tarih biçimini kullandığınızda, dize kullanır bölme işareti (/), tire (-) veya ayırıcısı olarak nokta (.) ay, gün ve yılı belirtin.Bu dize , aşağıdaki formda görünmesi gerekir:
Dil olduğunda küme için us_english, AGY tarih için varsayılan sıradır.tarih sırası kullanarak değiştirebileceğiniz set VBLONGDATEdeyim. tarih değerleri nasıl yorumlanır AYARLAMAK VBLONGDATE ayarı belirler.Sipariş Ayarlar eşleşmezse, değerleri tarih olarak, çünkü bunlar aralık dışında veya değerleri yanlış yorumlayan yorumlanır değil.Örneğin, 10/12/08 VBLONGDATE ayarına bağlı altı tarihleri biri olarak yorumlanabilir.Dört yılda bir yıl olarak yorumlanır. |
Alfabetik |
Açıklama |
---|---|
1996 Nis [il] [15] [] Nis [il] 15 [,] [19] 96 Nis [il] 1996 [15] [15] Nis [il] [,] 1996 15 Nis [il] [,] [19] 96 15 [19] 96 Nis [il] [15] 1996 Nis [il] 1996 NİS [IL] [15] [15] 1996 NİS [IL] |
Tam ay adı olarak belirtilen bir ay ile tarih verileri belirtebilirsiniz.Örneğin, Nisan veya geçerli dilde belirtilen Nis ay kısaltması; virgül isteğe bağlıdır ve büyük/küçük harf göz ardı edilir. Bazı alfabetik tarih biçimlerini kullanma yönergeleri şunlardır:
Ayın alfabetik formunda belirttiğinizde set VBLONGDATE oturum ayarı uygulanmaz. |
ISO 8601 |
Açıklama |
---|---|
yyyy-AA-DDThh:mm:ss [.mmm] YYYYMMDDThh:mm:ss [.mmm] |
Örnekler:
ISO 8601 biçiminde kullanmak için her öğenin biçiminde belirtmeniz gerekir.Bu da içerir T, iki nokta üst üste (:) ve format. gösterilen nokta (.) Köşeli ayraçlar kesir ikinci bileşeni isteğe bağlı olduğunu belirtir.saat bileşeni 24 saat biçiminde belirtilir. t saat kısmını gösterir datetime değer. ISO 8601 biçiminde kullanmanın avantajı, uluslararası bir standart belirli belirtimiyle olmasıdır.Ayrıca, bu biçim tarafından AYARLANMIŞ VBLONGDATE etkilenmez veya Dil ayarı. |
Unseparated |
Açıklama |
---|---|
YYYYAAGG:: 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ğerleri temsil etmek 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 için ole DB sağlayıcı SQL Server.ADO, ole DBve odbc tabanlı API'leri kullanan uygulamalar bu odbc zaman damgası biçimi, tarihleri ve saatleri temsil etmek için kullanabilirsiniz. odbc zaman damgası çıkış sıralarını biçimi vardır: { literal_type 'constant_value' }:
|
DateTime kesirli ikinci duyarlık yuvarlama
datetimedeğerler aşağıdaki tablogösterildiği gibi.000,.003 veya.007 saniye artışlarla 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 uygunluk
datetimeANSI veya ISO 8601 uyumlu değil.
Ö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';
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 |