Aracılığıyla paylaş


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:

  • Numara ayırıcısı numara ayırıcı numarası saat]saat

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:

  • tarih ve saat veri tek tırnak işaretleri (') içine alın.İngilizce dışındaki diller için kullanın n'

  • Parantezler içine karakterleri isteğe bağlıdır.

  • Yılın son iki basamağını belirtirseniz, değerinin son iki sayıdan daha az değerler iki basamaklı yıl kesme yapılandırma seçeneği olan kesme yıl olarak aynı yüzyıl içinde.Büyük veya bu seçenek değerine eşit değerler kesme yılından önce gelen yüzyıl arasındadır.Örneğin, iki basamaklı yıl kesme 2050 (varsayılan) ise 25 2025 yorumlandığını ve 50 1950 yorumlanır.Belirsizlik önlemek için dört basamaklı yıl kullanın.

  • Ayın ilk günü eksikse, sağlanı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:

  • 2004-05-23T14:25:10

  • 2004-05-23T14:25:10.487

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

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

    • d = yalnızca tarih

    • t = saat yalnızca

    • TS = zaman damgası (saat + tarih)

  • 'constant_value' çıkış sırası değeridir.constant_valueBu biçimlerin her biri için izlemeniz gereken literal_type.

    literal_typeconstant_value biçimi
    d yyyy-aa-gg
    t :: ss [.fff]
    TS :: YYYY-AA-GG SS [.fff]

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

Ayrıca bkz.

Başvuru