Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makaledeki bölümler tüm Transact-SQL tarih ve zaman veri türlerini ve fonksiyonlarını kapsar.
- Tarih ve zaman veri türleri
-
Tarih ve saat işlevleri
- Sistem tarih ve zaman değerlerini döndüren fonksiyonlar
- Tarih ve zaman parçalarını döndüren fonksiyonlar
- Parçalarından tarih ve zaman değerlerini döndüren fonksiyonlar
- Tarih ve zaman farkı değerlerini döndüren fonksiyonlar
- Tarih ve zaman değerlerini değiştiren fonksiyonlar
- Oturum formatı fonksiyonlarını ayarlayan veya geri dönen fonksiyonlar
- Doğrulama ve zaman değerlerini doğrulayan fonksiyonlar
- Tarih ve saatle ilgili makaleler
Tarih ve saat veri türleri
Transact-SQL tarih ve saat veri türleri aşağıdaki tabloda listelenmiştir:
| Veri türü | Biçim | Aralık | Doğruluk | Depolama boyutu (bayt) | Kullanıcı tarafından tanımlanan kesirli saniye hassasiyeti | Saat dilimi farkı |
|---|---|---|---|---|---|---|
| time | HH:mm:ss[.nnnnnnn] | 00:00:00.00000000 ile 23:59:59.99999999 arasında | 100 nanosaniye | 3'ten 5'e | Yes | Hayı |
| date | yyyy-MM-dd | 0001-01-01 ile 9999-12-31 arasında | 1 gün | 3 | Hayı | Hayı |
| smalldatetime | yyyy-MM-dd HH:mm:ss | 1900-01-01 ile 2079-06-06 ile arasında | 1 dakika | 4 | Hayı | Hayı |
| datetime | yyyy-MM-dd HH:mm:ss[.nnn] | 1753-01-01 ile 9999-12-31 tarihleri arasında | 0.00333 saniye | 8 | Hayı | Hayı |
| datetime2 | yyyy-MM-dd SS:mm:ss[.nnnnnnn] | 0001-01-01 00:00:00.00000000 ile 9999-12-31 23:59:59.9999999 | 100 nanosaniye | 6'dan 8'e | Yes | Hayı |
| datetimeoffset | yyyy-MM-dd HH:mm:ss[.nnnnnnn] [+|-]HH:mm | 0001-01-01 00:00:00.0000000 ile 9999-12-31 23:59:59.99999999 (UTC'de) | 100 nanosaniye | 8 -10 arası | Yes | Yes |
Uyarı
Transact-SQL sıralı versiyon veri tipi tarih veya saat veri tipi değildir. Zaman damgası , sırayaşıl versiyonun kullanılmamış bir eşanlamlıdır.
Tarih ve saat işlevleri
Aşağıdaki tablolar Transact-SQL tarih ve saat fonksiyonlarını listeler. Determinizm hakkında daha fazla bilgi için bkz. Deterministic ve Nondeterministic Functions.
Sistem tarih ve zaman değerlerini döndüren fonksiyonlar
Transact-SQL, SQL Server örneğinin çalıştığı bilgisayarın işletim sisteminden tüm sistem tarih ve saat değerlerini türetir.
Daha yüksek hassasiyetli sistem tarih ve zaman fonksiyonları
SQL Server 2008 (10.0.x)'den itibaren, Veritabanı Motoru tarih ve zaman değerlerini GetSystemTimeAsFileTime() Windows API'si üzerinden türetmektedir. Doğruluk, SQL Server örneğinin çalıştığı bilgisayar donanımı ve Windows sürümüne bağlıdır. Bu API'nin hassasiyeti 100 nanosaniyede sabittir. Doğruluğu belirlemek için GetSystemTimeAdjustment() Windows API'sini kullanın.
| İşlev | Sözdizimi | Dönüş değeri | Veri türü döndürme | Determinizm |
|---|---|---|---|---|
| SYSDATETIME | SYSDATETIME ( ) | SQL Server örneğinin çalıştığı bilgisayarın tarih ve saatini içeren datetime2(7) değerini döndürür. Geri dönen değer saat dilimi ofsetini içermez. | datetime2(7) | Nondeterministic |
| SYSDATETIMEOFFSET | SYSDATETIMEOFFSET ( ) | SQL Server örneğinin çalıştığı bilgisayarın tarih ve saatini içeren datetimeoffset(7) değerini döndürür. Geri dönen değer, saat dilimi ofsetini içerir. | datetimeoffset(7) | Nondeterministic |
| SYSUTCDATETIME | SYSUTCDATETIME ( ) | SQL Server örneğinin çalıştığı bilgisayarın tarih ve saatini içeren datetime2(7) değerini döndürür. Fonksiyon, tarih ve zaman değerlerini UTC saati (Koordineli Evrensel Zaman) olarak döndürür. | datetime2(7) | Nondeterministic |
Daha düşük hassasiyetli sistem tarih ve zaman fonksiyonları
| İşlev | Sözdizimi | Dönüş değeri | Veri türü döndürme | Determinizm |
|---|---|---|---|---|
| CURRENT_TIMESTAMP | CURRENT_TIMESTAMP | SQL Server örneğinin çalıştığı bilgisayarın tarihi ve saatini içeren bir datetime değeri döndürür. Geri dönen değer saat dilimi ofsetini içermez. | datetime | Nondeterministic |
| GETDATE | GETDATE ( ) | SQL Server örneğinin çalıştığı bilgisayarın tarihi ve saatini içeren bir datetime değeri döndürür. Geri dönen değer saat dilimi ofsetini içermez. | datetime | Nondeterministic |
| GETUTCDATE | GETUTCDATE ( ) | SQL Server örneğinin çalıştığı bilgisayarın tarihi ve saatini içeren bir datetime değeri döndürür. Fonksiyon, tarih ve zaman değerlerini UTC saati (Koordineli Evrensel Zaman) olarak döndürür. | datetime | Nondeterministic |
| CURRENT_DATE | CURRENT_DATE | Veritabanı Motoru örneğinin çalıştığı bilgisayarın tarihini içeren bir tarih değeri döndürür. Geri dönen değer zaman ve zaman dilimi ofsetini içermez. | date | Nondeterministic |
Tarih ve zaman parçalarını döndüren fonksiyonlar
| İşlev | Sözdizimi | Dönüş değeri | Veri türü döndürme | Determinizm |
|---|---|---|---|---|
| DATE_BUCKET | DATE_BUCKET ( tarih bölümü, sayı, tarih, köken ) | Orijin parametresi tarafından tanımlanan zaman damgasından her tarih-saat kovasının başlangıcına karşılık gelen bir değeri döndürür, ya da orijin parametri belirtilmemişse 1900-01-01 00:00:00.000 varsayılan başlangıç değerini döndürür. |
Dönüş türü, tarih için sağlanan bağımsız değişkene bağlıdır. | Nondeterministic |
| TARIH ADI | DATENAME ( tarih bölümü, tarih ) | Belirtilen tarihi temsil eden bir karakter dizisi döndürür; belirtilen tarihin bir parçası. | nvarchar | Nondeterministic |
| TARIH BÖLÜMÜ | DATEPART ( tarih bölümü, tarih ) | Belirtilen tarihi temsil eden bir tam sayı döndürür. | int | Nondeterministic |
| DATETRUNC | DATETRUNC ( datepart, date ) | Belirli bir tarih parçasına kısaltılmış bir giriş tarihi döndürür. | Dönüş türü, tarih için sağlanan bağımsız değişkene bağlıdır. | Nondeterministic |
| GÜN | GÜN ( tarih ) | Belirtilen tarihin gün kısmını temsil eden bir tam sayı döndürür. | int | Deterministik |
| AY | AYI ( tarih ) | Belirli bir tarihin ay kısmını temsil eden bir tam sayı döndürür. | int | Deterministik |
| YIL | YIL ( tarih ) | Belirli bir tarihin yıl kısmını temsil eden bir tam sayı döndürür. | int | Deterministik |
Parçalarından tarih ve zaman değerlerini döndüren fonksiyonlar
| İşlev | Sözdizimi | Dönüş değeri | Veri türü döndürme | Determinizm |
|---|---|---|---|---|
| DATEFROMPARTS | DATEFROMPARTS ( yıl, ay, gün ) | Belirtilen yıl, ay ve gün için bir tarih değeri döndürür. | date | Deterministik |
| DATETIME2FROMPARTS | DATETIME2FROMPARTS ( yıl, ay, gün, saat, dakika, saniye, kesirler, hassasiyet ) | Belirtilen tarih ve saat için datetime2 değerini belirtilen hassasiyetle döndürür. | datetime2(precision) | Deterministik |
| DATETIMEPARTS'TAN | DATETIMEFROMPARTS ( yıl, ay, gün, saat, dakika, saniye, milisaniye ) | Belirtilen tarih ve saat için bir tarih ve zaman değeri döndürür. | datetime | Deterministik |
| DATETIMEOFPARTSSETtDİRİM | DATETIMEOFFSETFROMPARTS ( yıl, ay, gün, saat, dakika, saniye, kesirler, hour_offset, minute_offset, hassasiyet ) | Belirtilen tarih ve saat için, belirtilen kaymalar ve hassasiyetle datetimeoffset değeri döndürür. | datetimeoffset(precision) | Deterministik |
| KÜÇÜKDATETIMEPARTS | SMALLDATETIMEFROMPARTS ( yıl, ay, gün, saat, dakika ) | Belirtilen tarih ve saat için smalldatetime değeri döndürür. | smalldatetime | Deterministik |
| TIMEFROMPARTS | ZAMANFROMPARÇALAR ( saat, dakika, saniye, kesirler, hassasiyet ) | Belirtilen zaman için belirli bir hassasiyetle bir zaman değeri döndürür. | zaman (hassasiyet) | Deterministik |
Tarih ve zaman farkı değerlerini döndüren fonksiyonlar
| İşlev | Sözdizimi | Dönüş değeri | Veri türü döndürme | Determinizm |
|---|---|---|---|---|
| DATEDIFF | DATEDIFF ( tarih bölümü, başlangıç tarihi, bitiş tarihi ) | İki belirlenmiş tarih arasında kesiştirilen tarih veya zaman sınırlarının sayısını döndürür. | int | Deterministik |
| DATEDIFF_BIG | DATEDIFF_BIG ( tarih bölümü, başlangıç tarihi, bitiş tarihi ) | İki belirlenmiş tarih arasında kesiştirilen tarih veya zaman sınırlarının sayısını döndürür. | bigint | Deterministik |
Tarih ve zaman değerlerini değiştiren fonksiyonlar
| İşlev | Sözdizimi | Dönüş değeri | Veri türü döndürme | Determinizm |
|---|---|---|---|---|
| DATEADD | DATEADD (tarih parçası, sayı, tarih ) | Belirtilen tarihe bir aralık ekleyerek yeni bir tarih değeridöndürür. | Tarih argümanının veri tipi | Deterministik |
| EOAY | EOAY ( start_date [ , month_to_add ] ) | Ayın son gününü belirtilen tarihi ve isteğe bağlı bir ofset ile döndürür. | Dönüş türü, start_date argümanının türü veya alternatif olarak tarih veri tipidir. | Deterministik |
| SWITCHOFSET | SWITCHOFFSET (DATETIMEOFFSET, time_zone ) | SWITCHOFFSET, bir DATETIMEOFFSET değerinin zaman bölgesi ofsetini değiştirir ve UTC değerini korur. | tarih zamani ofseti ile DATETIMEOFSET'in kesirli hassasiyeti | Deterministik |
| TODATETIMEOFFSET | TODATETIMEOFFSET (ifade, time_zone ) | TODATETIMEOFFSET, datetime2 değerini datetimeoffset değerine dönüştürür. TODATETIMEOFFSET, belirtilen time_zone için datetime2 değerini yerel zamanda yorumlar. | datetimeoffset , datetime argümanının kesirli hassasiyetiyle | Deterministik |
Oturum formatı fonksiyonlarını ayarlayan veya geri dönen fonksiyonlar
| İşlev | Sözdizimi | Dönüş değeri | Veri türü döndürme | Determinizm |
|---|---|---|---|---|
| @@DATEFIRST | @@DATEFIRST | Oturum için SET DATEFIRST değerinin mevcut değerini döndürür. | tinyint | Nondeterministic |
| ÖNCE TARIH BELIRLENİN. | SET DATEFIRST { number | @number_var } | Haftanın ilk gününü 1 ile 7 arasında bir sayıya ayarlar. | Uygulanamaz | Uygulanamaz |
| TARIH FORMATINI AYARLAMA | SET DATEFORMAT { format | @format_var } | Datetime veya küçük datetime verilerini girme tarih parçalarının (ay/gün/yıl) sırasını belirler. | Uygulanamaz | Uygulanamaz |
| @@LANGUAGE | @@LANGUAGE | Kullanılan dilin adını döndürür. @@LANGUAGE tarih veya saat fonksiyonu değildir. Ancak, dil ayarı tarih fonksiyonlarının çıktısını etkileyebilir. | Uygulanamaz | Uygulanamaz |
| SET DILI | SET DİLİ { [ n ] 'dil' | @language_var } | Oturum ve sistem mesajları için dil ortamını ayarlar. SET LANGUAGE bir tarih veya zaman fonksiyonu değildir. Ancak, dil ayarı tarih fonksiyonlarının çıktısını etkiler. | Uygulanamaz | Uygulanamaz |
| sp_helplanguage | sp_helplanguage [ [ @language = ] 'dil' ] | Desteklenen tüm dillerin tarih formatları hakkında bilgi döndürür.
sp_helplanguage tarih veya zaman kaydedilen bir prosedür değildir. Ancak, dil ayarı tarih fonksiyonlarının çıktısını etkiler. |
Uygulanamaz | Uygulanamaz |
Doğrulama ve zaman değerlerini doğrulayan fonksiyonlar
| İşlev | Sözdizimi | Dönüş değeri | Veri türü döndürme | Determinizm |
|---|---|---|---|---|
| ISDATE | ISDATE ( ifade ) | Bir datetime veya smalldatetime giriş ifadesinin geçerli bir tarih veya zaman değeri olup olmadığını belirler. | int | ISDATE, yalnızca CONVERT fonksiyonuyla CONVERT fonksiyonu ile kullanılır; CONVERT stil parametresi belirtildiğinde ve stil 0, 100, 9 veya 109 eşit olmadıklarında kullanılır. |
Tarih ve saatle ilgili makaleler
| Article | Description |
|---|---|
| BİÇİM | Belirtilen format ve isteğe bağlı kültürle biçimlendirilmiş bir değer döndürür. Tarih/saat ve sayı değerlerinin yerel olarak biçimlendirilmesi için FORMAT fonksiyonunu kullanın. |
| OYUNCU VE DÖNÜŞTÜR | Tarih ve zaman değerlerinin dize literallerine ve diğer tarih ve zaman formatlarına dönüştürülmesi hakkında bilgi sağlar. |
| Uluslararası Transact-SQL Deyimleri Yazma | Bir dilden diğerine Transact-SQL ifadesi kullanan veya birden fazla dili destekleyen veritabanları ve veritabanı uygulamalarının taşınabilirliği için rehberler sunar. |
| ODBC Skaler Fonksiyonları | Transact-SQL ifadelerinde kullanılabilen ODBC skaler fonksiyonları hakkında bilgi sağlar. ODBC tarih ve saat fonksiyonlarını içerir. |
| ZAMAN DILİMLEĞINDE | Zaman dilimi dönüşümü sağlar. |