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:
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:
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:
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' }:
|
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 |