saat (Transact-SQL)
Günün saat tanımlar.saat saat bölge tanıma olduğunu ve bir 24 saatlik zaman biçimine dayandırılır.
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.
saat Açıklama
Özellik |
Değer |
---|---|
Sözdizimi |
time [ (fractional second precision) ] |
Kullanım |
@ MyTime BİLDİRMEKtime(7) Tablo tablo1 oluşturun (Sütun1 time(7) ) |
fractional seconds precision |
Saniyeyi kesirli kısmı için basamak sayısını belirtir. Bu 7 ile 0 arasında bir tamsayı olabilir. Varsayılan kesirli duyarlık 7 (vermektedir) ' dir. |
Kullanım |
@ MyTime BİLDİRMEKtime(7) Tablo tablo1 oluşturun (Sütun1 time(7) ) |
Varsayılan dize hazır bilgi biçimi ( kapalıiçin -düzey istemcikullanılır) |
:: ss [.NNNNNNN] "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. |
Aralık |
23:59:59.9999999-00:00:00.0000000 |
Öğe aralıkları |
hh Saat temsil 23 için 0 arasında değişen iki basamak sayısıdır. mm, dakikayı temsil 59 için 0 arasında değişen iki basamak olur. ss ikinci temsil 59 için 0 arasında değişen iki basamak olur. n * Kesirli saniye temsil eden 9999999 için 0 arasında yedi basamak sıfırdır. |
Karakter uzunluğu |
8 pozisyonları en az:: (ss) için en fazla 16 (:: ss.NNNNNNN) |
Duyarlık, Ölçek (kullanıcı yalnızca ölçek belirtir) |
Belirtilen ölçekSonuç (duyarlık, Ölçek)Sütun uzunluğu (bayt)Kesirli 5-10 saniye bekleyin duyarlık
time (16,7)57
time(0) (8,0)30-2
time(1) (10,1)30-2
time(2) (11,2)30-2
time(3) (12,3)43-4
time(4) (13,4)43-4
time(5) (14,5)55-7
time(6) (15,6)55-7
time(7) (16,7)55-7
|
Depolama boyutu |
5 sabit, bayt cinsinden vermektedir kesirli ikinci duyarlık varsayılan varsayılandır. |
Doğruluk |
100 nanosaniye şeklindedir |
Varsayılan değer |
00:00:00 Bu değer, örtük dönüştürme işlemi için eklenmiş saat bölümü için kullanılır date için datetime2 veya datetimeoffset. |
Kullanıcı tanımlı kesirli ikinci duyarlık |
Evet |
Saat dilimi uzaklığı farkında ve korunması |
Hayır |
Farkında ışığından yararlanma |
Hayır |
Desteklenen dize Literal biçimleri saat
Aşağıdaki tablo geçerli dize hazır bilgi biçimleri gösterir time veri türü.
SQL Server |
Açıklama |
---|---|
ss: dd [: ss] [: Kesirli saniye] [am] [pm] ss: dd [: ss] [.fractional saniye] [am] [pm] hhAM [pm] ss am [pm] |
Saat değeri 0 temsil saat gece yarısı, kullanılıp bakılmaksızın sonra am belirtilir.pm saat 0 olduğunda belirtilemez. am veya pm ne belirtilmezse öğleden önce saat 01-11 saat değerleri temsil eder.Öğleden önce saat değerlerini göstermek zaman am belirtilir.pm belirtilirse, öğleden sonraki saatler değerleri temsil eder. 12 Saat değeri ne am veya pm belirtilmezse, öğlen geleceğini başladığı saati temsil eder.Yoksa am belirtilmişse, değer gece yarısı başlar saat temsil eder.pm belirtilirse, öğlen geleceğini başlar saat değerini temsil eder.12:01 pm olduğu gibi örneğin, 12: 01 1, öğleden dakikadır; ve gece yarısından sonra 12:01 am bir dakikadır.12:01 am belirterek 00: 01 veya 00: 01'de aynıdır. am veya pm belirtilmezse, öğleden sonraki saatler 13-23 saat değerleri temsil eder.Değerler, pm ne zaman belirtilen öğleden sonraki saatler için de temsil eder.am dan 13-23 saat değeri olduğunda belirtilemez. Bir 24 saat değeri geçerli değil.Gece göstermek için 12: 00'de veya 00: 00'ı kullanın. Milisaniye cinsinden önünde ya da üste (:) veya nokta (.).İki nokta kullanılır, sayı ikinci, binde demektir.Bir süre kullanılırsa, tek basamaklı bir ikinci, onda anlamına gelir, ikinci, yüzde iki basamak anlamına ve ikinci, binde üç basamak anlamına gelir.Örneğin, 20 12:30:20:1 gösterir ve bir-922.337.203.685.477,5707 saniye geçmiş 12: 30; 12:30:20.1 20 gösterir ve bir onuncu saniyede 12: 30 tamamlamıştır. |
ISO 8601 |
Notlar |
---|---|
:: ss ss: dd [: ss] [.fractional saniye] |
|
ODBC |
Notlar |
---|---|
{t ':: ss [.fractional saniye]'} |
odbc API belirli. Çalışan SQL Server 2008 gibi SQL Server 2005. |
saat ANSI ve ISO 8601 standartları ile uyumluluk
24 Saat gece ve artık bir saniye içinde 59 ISO 8601 (5.3.2 ve 5.3) tarafından tanımlandığı gibi gösteren kullanarak değil geriye dönük için desteklenen ve varolan tarih ve saat türleri ile tutarlıdır.SQL tarafından standard 2003 tanımlanmamış.
Varsayılan dize hazır bilgi biçimi ( kapalıiçin -düzey istemcikullanılır):: ss tanımlanan SQL standart form ile hizalanır [.NNNNNNN].Bu biçim ISO 8601 tanımı için Kesirli saniye dışında zaman benzer.
Örnekler
A.tarih ve saat veri türlerini karşılaştırma
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';
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 |
B.Geçerli saati dize hazır bilgileri saat(7) eklemeden sütun
Aşağıdaki tablo farklı dize hazır bilgileri bir sütun veri türü, eklenebilen listeler time(7) sonra bu sütundepolanan değerlerle.
Dize hazır bilgi biçimi türü |
Eklenen dize değişmezi |
saat(7) depolanan değeri |
Açıklama |
---|---|---|---|
SQL Server |
'01:01:01:123 AM' |
01:01:01.1230000 |
Zaman iki nokta (:) gelir önce Kesirli saniye duyarlık, ölçek, üç pozisyonları geçemez veya bir hata oluşturdu. |
SQL Server |
'01:01:01.1234567 AM' |
01:01:01.1234567 |
am veya pm belirtilen saat 24 saat biçiminde am veya pm hazır olmadan depolanır |
SQL Server |
'01:01:01.1234567 PM' |
13:01:01.1234567 |
am veya pm belirtilen saat 24 saat biçiminde am veya pm hazır olmadan depolanır |
SQL Server |
'01:01:01.1234567 PM' |
13:01:01.1234567 |
am veya pm önce boşluk isteğe bağlıdır. |
SQL Server |
'01 AM' |
01:00:00.0000000 |
Yalnızca saat belirtildiğinde, diğer tüm değerlerin 0 ' dir. |
SQL Server |
'01 AM' |
01:00:00.0000000 |
am veya pm önce boşluk isteğe bağlıdır. |
SQL Server |
'01:01:01' |
01:01:01.0000000 |
Kesirli saniye duyarlık belirtilmemişse, veri türü tarafından tanımlanan her konum 0'dır. |
ISO 8601 |
'01:01:01.1234567' |
01:01:01.1234567 |
ISO 8601 ile uymak için 24 saat biçiminde am veya PM'i kullanın. |
ISO 8601 |
'01:01:01.1234567 +01:01' |
01:01:01.1234567 |
İsteğe bağlı saat dilimi farkını (tzd) giriş izin verilir, ancak değil depolanır. |
C.Her sütun tarih ve saat türü tarih saat dize hazır bilgi ekleme
Aşağıdaki tablo ilk saatdize sütun ikinci sütungösterilen tarih ve saat veri türü bir veritabanı tablosütun eklenecek hazır gösterir. Üçüncü sütun veritabanı tablo sütundepolanan değeri gösterir.
Eklenen dize değişmezi |
Sütun veri türü |
sütundepolanan değeri |
Açıklama |
---|---|---|---|
'12:12:12.1234567' |
time(7) |
12:12:12.1234567 |
Kesirli saniye duyarlık ' % s'sütun sütuniçin belirtilen değeri aşarsa, dize hatasız kesilecek. |
'2007-05-07' |
date |
NULL |
Herhangi bir saat değeri INSERT deyim başarısız olmasına neden olur. |
'12:12:12' |
smalldatetime |
1900-01-01 12:12:00 |
Kesirli saniye Duyarlık değeri INSERT deyim başarısız olmasına neden olur. |
'12:12:12.123' |
datetime |
1900-01-01 12:12:12.123 |
Herhangi üç pozisyonları uzun ikinci duyarlık INSERT deyim başarısız olmasına neden olur. |
'12:12:12.1234567' |
datetime2(7) |
1900-01-01 12:12:12.1234567 |
Kesirli saniye duyarlık ' % s'sütun sütuniçin belirtilen değeri aşarsa, dize hatasız kesilecek. |
'12:12:12.1234567' |
datetimeoffset(7) |
1900-01-01 12:12:12.1234567 +00:00 |
Kesirli saniye duyarlık ' % s'sütun sütuniçin belirtilen değeri aşarsa, dize hatasız kesilecek. |
Ayrıca bkz.