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 tüm Transact-SQL tarih ve zaman veri türlerini ve fonksiyonlarını kapsar.

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