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, kullanım ve örnekler de dahil olmak üzere tüm Transact-SQL tarih ve saat veri türlerini ve işlevlerini kapsar.
Tarih ve saat veri türleri
Aşağıdaki tabloda Transact-SQL tarih ve saat veri türleri 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 SS: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 SS: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 'den (10.0.x) bu yana, Veritabanı Altyapısı Tarih ve saat değerlerini Windows API'sinin GetSystemTimeAsFileTime() kullanımıyla türetir. Doğruluk, SQL Server örneğinin çalıştığı bilgisayar donanımına ve Windows sürümüne bağlıdır. Bu API'nin hassasiyeti 100 nanosaniyede sabittir.
GetSystemTimeAdjustment() Doğruluğu belirlemek için Windows API'sini kullanın.
| İşlev | Sözdizimi | Dönüş değeri | Veri türü döndürme | Determinizm |
|---|---|---|---|---|
| SYSDATETIME | SYSDATETIME() |
İşlev, SYSDATETIME SQL Server örneğinin çalıştığı bilgisayarın tarih ve saatini içeren bir datetime2(7) değeri döndürür. Geri dönen değer saat dilimi ofsetini içermez. |
datetime2(7) | Nondeterministic |
| SYSDATETIMEOFFSET | SYSDATETIMEOFFSET () |
İşlev, SYSDATETIMEOFFSET SQL Server örneğinin çalıştığı bilgisayarın tarih ve saatini içeren bir datetimeoffset(7) değeri döndürür. Geri dönen değer, saat dilimi ofsetini içerir. |
datetimeoffset(7) | Nondeterministic |
| SYSUTCDATETIME | SYSUTCDATETIME () |
İşlev, SYSUTCDATETIME SQL Server örneğinin çalıştığı bilgisayarın tarih ve saatini içeren bir datetime2(7) değeri döndürür.
SYSUTCDATETIME tarih ve saat değerlerini UTC saati (Eşgüdümlü Evrensel Saat) 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 |
İşlev, CURRENT_TIMESTAMP SQL Server örneğinin çalıştığı bilgisayarın tarih ve saatini içeren bir tarih saat değeri döndürür. Geri dönen değer saat dilimi ofsetini içermez. |
datetime | Nondeterministic |
| GETDATE | GETDATE() |
İşlev, GETDATE SQL Server örneğinin çalıştığı bilgisayarın tarih ve saatini içeren bir tarih saat değeri döndürür. Geri dönen değer saat dilimi ofsetini içermez. |
datetime | Nondeterministic |
| GETUTCDATE | GETUTCDATE() |
İşlev, GETUTCDATE SQL Server örneğinin çalıştığı bilgisayarın tarih ve saatini içeren bir tarih saat değeri döndürür. İşlev, GETUTCDATE tarih ve saat değerlerini UTC saati (Eşgüdümlü Evrensel Saat) olarak döndürür. |
datetime | Nondeterministic |
| CURRENT_DATE | CURRENT_DATE |
İşlev, CURRENT_DATE yalnızca Veritabanı Altyapısı ö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 ( <datepart>, <number>, <date>, <origin>) |
İşlev, DATE_BUCKET kaynak parametresi tarafından tanımlanan zaman damgasından her tarih-saat demetinin başlangıcına karşılık gelen bir değer veya kaynak parametresi belirtilmezse varsayılan kaynak değerini 1900-01-01 00:00:00.000 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 ( <datepart>, <date> ) |
İşlev, DATENAME belirtilen tarihin belirtilen tarih kısmını temsil eden bir karakter dizesi döndürür. |
nvarchar | Nondeterministic |
| TARIH BÖLÜMÜ | DATEPART ( <datepart>, <date> ) |
İşlev, DATEPART belirtilen tarihin belirtilen tarih kısmını temsil eden bir tamsayı döndürür. |
int | Nondeterministic |
| DATETRUNC | DATETRUNC ( <datepart>, <date> ) |
Fonksiyon, DATETRUNC belirli bir tarih parçasına kısaltılmış bir giriş tarihini 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 | DAY ( <date> ) |
İşlev, DAY belirtilen tarihin gün bölümünü temsil eden bir tamsayı döndürür. |
int | Deterministik |
| AY | MONTH ( <date> ) |
İşlev, MONTH belirtilen tarihin ay bölümünü temsil eden bir tamsayı döndürür. |
int | Deterministik |
| YIL | YEAR ( <date> ) |
İşlev, YEAR belirtilen tarihin yıl bölümünü temsil eden bir tamsayı 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 ( <year>, <month>, <day> ) |
İşlev, DATEFROMPARTS belirtilen yıl, ay ve gün için bir tarih değeri döndürür. |
date | Deterministik |
| DATETIME2FROMPARTS | DATETIME2FROMPARTS ( <year>, <month>, <day>, <hour>, <minute>, <seconds>, <fractions>, <precision> ) |
İşlev, DATETIME2FROMPARTS belirtilen tarih ve saat için belirtilen duyarlıkla bir datetime2 değeri döndürür. |
datetime2(duyarlık) | Deterministik |
| DATETIMEPARTS'TAN | DATETIMEFROMPARTS ( <year>, <month>, <day>, <hour>, <minute>, <seconds>, <milliseconds> ) |
İşlev, DATETIMEFROMPARTS belirtilen tarih ve saat için bir tarih saat değeri döndürür. |
datetime | Deterministik |
| DATETIMEOFPARTSSETtDİRİM | DATETIMEOFFSETFROMPARTS ( <year>, <month>, <day>, <hour>, <minute>, <seconds>, <fractions>, <hour_offset>, <minute_offset>, <precision> ) |
İşlev, DATETIMEOFFSETFROMPARTS belirtilen tarih ve saat için belirtilen uzaklıklar ve duyarlık ile bir datetimeoffset değeri döndürür. |
datetimeoffset(precision) | Deterministik |
| KÜÇÜKDATETIMEPARTS | SMALLDATETIMEFROMPARTS ( <year>, <month>, <day>, <hour>, <minute> ) |
İşlev, SMALLDATETIMEFROMPARTS belirtilen tarih ve saat için bir smalldatetime değeri döndürür. |
smalldatetime | Deterministik |
| TIMEFROMPARTS | TIMEFROMPARTS ( <hour>, <minute>, <seconds>, <fractions>, <precision> ) |
İşlev, TIMEFROMPARTS belirtilen saat için belirtilen duyarlıkla bir saat değeri döndürür. |
time(duyarlık) | 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 ( <datepart>, <startdate>, <enddate> ) |
İşlev, DATEDIFF belirtilen iki tarih arasında kesişen tarih veya saat datepart sınırlarının sayısını döndürür. |
int | Deterministik |
| DATEDIFF_BIG | DATEDIFF_BIG ( <datepart>, <startdate>, <enddate> ) |
İşlev, DATEDIFF_BIG belirtilen iki tarih arasında kesişen tarih veya saat datepart 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 (<datepart>, <number>, <date> ) |
İşlev, DATEADD belirtilen tarihin belirtilen tarihbölümüne bir aralık ekleyerek yeni bir tarih saat değeri döndürür. |
Tarih argümanının veri tipi | Deterministik |
| EOAY | EOMONTH ( <start_date> [ , <month_to_add> ] ) |
İşlev, EOMONTH isteğe bağlı bir uzaklık ile belirtilen tarihi içeren ayın son gününü 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 işlevi, bir datetimeoffset değerinin saat dilimi uzaklığını değiştirir ve UTC değerini korur. |
DATETIMEOFFSET bağımsız değişkeninin kesirli duyarlığıyla datetimeoffset | Deterministik |
| TODATETIMEOFFSET | TODATETIMEOFFSET (<expression>, <time_zone> ) |
işlevi bir TODATETIMEOFFSETdatetime2 değerini datetimeoffset değerine dönüştürür.
TODATETIMEOFFSETbelirtilen time_zone için yerel saat içindeki datetime2 değerini yorumlar. |
datetimeoffset , datetime argümanının kesirli hassasiyetiyle | Deterministik |
Tavsiye
SQL Server'da saat dilimi bilgilerini datetimeoffset veri türüyle düzenleme hakkında daha fazla bilgi ve öneri için bkz. SAAT DILIMINDE.
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 |
@@DATEFIRST İşlev, oturumu SET DATEFIRSTiçin geçerli değerini döndürür. |
tinyint | Nondeterministic |
| ÖNCE TARIH BELIRLENİN. |
SET DATEFIRST { *number* } veya SET DATEFIRST { *@number_var* } |
deyimi haftanın SET DATEFIRST ilk gününü 1 ile 7 arasında bir sayıya ayarlar. |
Uygulanamaz | Uygulanamaz |
| TARIH FORMATINI AYARLAMA |
SET DATEFORMAT { *format* } veya SET DATEFORMAT { *@format_var* } |
deyimi, SET DATEFORMATtarih saat veya smalldatetime verilerini girmek için tarih bölümlerinin (ay/gün/yıl) sırasını ayarlar. |
Uygulanamaz | Uygulanamaz |
| @@LANGUAGE | @@LANGUAGE |
@@LANGUAGE işlevi, kullanılan geçerli dildeki dilin adını döndürür.
@@LANGUAGE bir tarih veya saat işlevi değildir. Ancak, dil ayarı tarih fonksiyonlarının çıktısını etkileyebilir. |
Uygulanamaz | Uygulanamaz |
| SET DILI |
SET LANGUAGE { [ N ] '*language*' } veya SET LANGUAGE { *@language_var* } |
Oturum ve sistem mesajları için dil ortamını ayarlar.
SET LANGUAGE bir tarih veya saat işlevi değildir, ancak dil ayarı tarih işlevlerinin çıkışını etkiler. |
Uygulanamaz | Uygulanamaz |
| sp_helplanguage |
sp_helplanguage [ [ *@language* = ] '*language*' ] |
İşlev, sp_helplanguage desteklenen tüm dillerin tarih biçimleri hakkında bilgi döndürür. Dil ayarı tarih işlevlerinin çıkışı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 ( <expression> ) |
İşlev, ISDATEtarih saat veya küçük saat giriş ifadesinin geçerli bir tarih veya saat değerine sahip olup olmadığını belirler. |
int |
ISDATE İşlev, yalnızca stil parametresi belirtildiğinde CONVERT ve stil 0, 100, 9 veya 109'a eşit olmadığında işlevle birlikte CONVERT kullanılır. |
Tarih ve saatle ilgili makaleler
| Article | Description |
|---|---|
| BİÇİM | İşlev, FORMAT belirtilen biçim 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 |
CAST ve CONVERT işlevleri, tarih ve saat değerlerini dize değişmez değerlerine ve diğer tarih ve saat biçimlerine dönüştürür. |
| 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. |