Aracılığıyla paylaş


Tarih ve saat veri türleri ve fonksiyonları (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiMicrosoft Fabric'de Azure Synapse AnalyticsSQL veritabanı

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.
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.