Aracılığıyla paylaş


TARIH ADI (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiAzure Synapse AnalyticsAnalytics Platform Sistemi (PDW)Microsoft Fabric'te SQL Veritabanı

Bu fonksiyon, belirtilen tarihin bir karakter dizisini döndürür; belirtilen tarihin parçası.

Tüm Transact-SQL tarih ve saat veri türlerine ve işlevlerine genel bakış için bkz. Tarih ve Saat Veri Türleri ve İşlevleri (Transact-SQL).

Transact-SQL söz dizimi kuralları

Sözdizimi

DATENAME ( datepart , date )  

Arguments

datepart
Tarih argümanının DATENAME geri dönecek özel kısmı. Bu tabloda tüm geçerli tarih bölümü bağımsız değişkenleri listelenir.

Uyarı

DATENAMEdatepart argümanları için kullanıcı tanımlı değişken eşdeğerlerini kabul etmez.

datepart Abbreviations
yıl yyy, yyyy
çeyrek qq, q
ay Mm, m
dayofyear Dy, y
gün dd, d
hafta wk, ww
hafta içi dw, w
saat hh
dakika mi, n
saniye ss, s
milisaniye Ms
Microsecond Mcs
Içerir Ns
TZoffset tz
ISO_WEEK ISOWK, ISOWW

date

Aşağıdaki veri türlerinden birine çözüm verebilen bir ifade:

  • date
  • datetime
  • datetimeoffset
  • datetime2
  • smalldatetime
  • time

TarihDATENAME için bir sütun ifadesi, ifade, dize değişmez değeri veya kullanıcı tanımlı değişken kabul eder. Belirsizlik sorunlarını önlemek için dört basamaklı yılları kullanın. İki basamaklı yıllar hakkında bilgi için bkz. İki basamaklı yıl kesme Sunucusu Yapılandırma Seçeneğini yapılandırma .

Dönüş Türü

nvarchar

Dönüş Değeri

  • Her datepart ve kısaltmaları aynı değeri döndürür.

Dönüş değeri, SET LANGUAGE kullanılarak belirlenen dil ortamına ve girişin varsayılan dili Yapılandırma Sunucusu Yapılandırma Seçeneğine bağlıdır. Döndürme değeri, tarih bazı formatların bir dizi literali ise, SET DATEFORMAT'a bağlıdır. SET DATEFORMAT, tarih bir tarih veya zaman veri türünün sütun ifadesi olduğunda döndürme değerini değiştirmez.

Tarih parametresinde bir tarih veri tipi argümanı varsa, dönüş değeri SET DATEFIRST'in belirttiği ayara bağlıdır.

TZoffset datepart Argümanı

Eğer datepart argümanı TZoffset (tz) ise ve tarih argümanı zaman kuşağı ofseti yoksa, DATEADD 0 döner.

smalldatetime tarih argümanı

Tarihsmalldatetime ise, DATENAME saniyeler 00 olarak döner.

Tarih argümanında olmayan bir tarih parçası için varsayılan döndürüldü

Tarih argümanının veri tipi belirtilen datepart içermiyorsa, DATENAME yalnızca tarih argümanı kelime yazısı varsa o tarih bölümü için varsayılan döner.

Örneğin, herhangi bir tarih veri tipi için varsayılan yıl-ay-gün 1900-01-01'dir. Bu ifadede datepart için tarih kısmı argümanları, tarih için zaman argümanı ve DATENAME döndürme 1900, January, 1, 1, Mondaynoktası vardır.

SELECT DATENAME(year, '12:10:30.123')  
    ,DATENAME(month, '12:10:30.123')  
    ,DATENAME(day, '12:10:30.123')  
    ,DATENAME(dayofyear, '12:10:30.123')  
    ,DATENAME(weekday, '12:10:30.123');  

Tarih değişken veya tablo sütunu olarak belirtilirse ve o değişken veya sütunun veri tipi belirtilen datepart içermiyorsa, DATENAME 9810 hatası döner. Bu örnekte, değişken @t'ninzaman veri tipi vardır. Örnek, zaman veri tipi için kısmen yıl tarihi geçersiz olduğu için başarısız olur:

DECLARE @t time = '12:10:30.123';   
SELECT DATENAME(year, @t);  

Açıklamalar

Aşağıdaki yan tümcelerde kullanın DATENAME :

  • GRUPLA
  • HAVING
  • SIRALAMA
  • SELECT <listesi>
  • WHERE

SQL Server'da, DATENAME dize literallerini dolaylı olarak datetime2 tipi olarak kullanır. Başka bir deyişle, DATENAME tarih bir dizi olarak geçtiğinde YDM formatını desteklemez. YDM biçimini kullanmak için dizeyi açıkça bir datetime veya smalldatetime türüne atamanız gerekir.

Örnekler

Bu örnek, belirtilen tarih için tarih parçalarını döndürür. SELECT ifadesindeki argümanı datepart yerine tablodan bir datepart değeri koyun:

SELECT DATENAME(datepart,'2007-10-30 12:15:32.1234567 +05:10');

Sonuç kümesi aşağıdadır.

datepart Dönüş değeri
yıl, yyyy, yy 2007
çeyrek, qq, q 4
ay, mm, m Ekim
Dayofyear, Dy, Y 303
gün, dd, d 30
hafta, hafta, ww, ww 44
hafta içi gün, DW Tuesday
saat, hh 12
dakika, n 15
ikinci, ss, s 32
milisaniye, ms 123
mikrosaniye, MCS 123456
nanosaniye, ns 123456700
TZoffset, tz +05:10
ISO_WEEK, ISOWK, ISOWW 44

Azure Synapse Analytics and Analytics Platform System (PDW)

Bu örnek, belirtilen tarih için tarih parçalarını döndürür. SELECT ifadesindeki argümanı datepart yerine tablodan bir datepart değeri koyun:

SELECT DATENAME(datepart,'2007-10-30 12:15:32.1234567 +05:10');  

Sonuç kümesi aşağıdadır.

datepart Dönüş değeri
yıl, yyyy, yy 2007
çeyrek, qq, q 4
ay, mm, m Ekim
Dayofyear, Dy, Y 303
gün, dd, d 30
hafta, hafta, ww, ww 44
hafta içi gün, DW Tuesday
saat, hh 12
dakika, n 15
ikinci, ss, s 32
milisaniye, ms 123
mikrosaniye, MCS 123456
nanosaniye, ns 123456700
TZoffset, tz +05:10
ISO_WEEK, ISOWK, ISOWW 44

Ayrıca bakınız

CAST ve CONVERT (Transact-SQL)