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]

  • ss 0 saat diliminde saat sayısını temsil eden 14 arasında değişen iki basamak olan uzaklığı.

  • mm, 0'dan saat diliminde ek dakika sayısını temsil eden 59 arasında değişen iki basamak olan uzaklığı.

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.