Megosztás a következőn keresztül:


DÁTUMNÉV (Transact-SQL)

Vonatkozik a következőkre:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalitikai Platform System (PDW)SQL adatbázis a Microsoft Fabric-ben

Ez a függvény egy karakterláncot ad vissza, amely a megadott dátumot jelöli.

A Transact-SQL dátum- és időadattípusainak és függvényeinek áttekintését a Dátum és idő adattípusok és függvények (Transact-SQL) című témakörben tekintheti meg.

Transact-SQL szintaxis konvenciók

Szemantika

DATENAME ( datepart , date )  

Arguments

datepart
Az a konkrét rész a dátum érveléséből, ami DATENAME vissza fog térni. Ez a táblázat felsorolja az összes érvényes datepart argumentumot.

Megjegyzés:

DATENAME nem fogad el felhasználó által definiált változóekvivalenseket a datepart argumentumokhoz.

datepart Abbreviations
év yyy, yyyy
negyed qq, q
hónap Mm, m
napofév DY, y
nap dd, d
hét wk, ww
hétköznap dw, w
óra Hh
perc mi, n
második ss, s
Ezredmásodperc Ms
mikroszekundum Mcs
nanoszekundum Ns
TZoffset tz
ISO_WEEK ISOWK, ISOWW

date

Egy olyan kifejezés, amely az alábbi adattípusok egyikére képes feloldani:

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

Dátumként egy oszlopkifejezéstDATENAME, kifejezést, sztringkonstanst vagy felhasználó által definiált változót fogad el. Használjon négyjegyű éveket a kétértelmű problémák elkerülése érdekében. A kétjegyű évszámmal kapcsolatos információkért tekintse meg a Kétjegyű év leépítési kiszolgáló konfigurációs beállításának konfigurálását .

Visszatérési típus

nvarchar

Visszaadott érték

  • Minden dátumpart és rövidítése ugyanazt az értéket adja vissza.

A visszaküldési érték a SET LANGUAGE használatával beállított nyelvi környezettől és a bejelentkezés alapértelmezett nyelv konfigurálása szerver konfigurációs opciótól függ. A visszaküldési érték a SET DATEFORMAT-tól függ, ha a dátum egyes formátumok string literálisa. A SET DATEFORMAT nem változtatja meg a visszatérési értéket, ha a dátum egy dátum- vagy időadattípus oszlopkifejezése.

Ha a dátum paraméternek van dátum adattípus argumentuma, a visszaküldési érték a SET DATEFIRST által megadott beállítástól függ.

TZoffset datepart Argument

Ha a datepart argumentum TZoffset (tz), és a date argument nincs időzóna eltolása, DATEADD akkor 0 értéket ad vissza.

smalldatetime date érv

Ha a dátuma kisdatetime, DATENAME a másodpercek 00-ként jelennek meg.

Alapértelmezett visszatérés egy dátumrésze esetén, amely nincs a dátum argumentumban

Ha a dátum argumentum adattípusa nem tartalmazza a megadott datepart típust, DATENAME akkor csak akkor adja vissza az alapértelmezett dátumrész értékét, ha a dátumargumentum literális .

Például bármely dátum adattípus alapértelmezett év-hónap-napja 1900-01-01. Ez az állítás datepart argumentumokat tartalmaz a datepart számára, egy időargumentumot a date számára, és DATENAME visszaadja 1900, January, 1, 1, Monday.

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');  

Ha a dátumot változóként vagy táblaoszlopként jelölik meg, és az adott változó vagy oszlop adattípusa nem tartalmazza a megadott datepartot, DATENAME akkor 9810 hibát ad vissza. Ebben a példában a @t változónak időadattípusa van. A példa azért bukik el, mert a dátum részévé érvénytelen az időadattípusra :

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

Megjegyzések

Használja DATENAME a következő záradékokban:

  • CSOPORTOSÍTÁS ALAPJÁN
  • HAVING
  • Rendezés szerint
  • SELECT <lista>
  • WHERE

Az SQL Serverben a DATENAME implicit módon a string literalokat datetime2 típusként bocsátja ki. Más szóval, DATENAME nem támogatja a YDM formátumot, amikor a dátumot stringként adják át. Az YDM-formátum használatához explicit módon datetime vagy smalldatetime típusra kell írnia a sztringet.

Példák

Ez a példa adja vissza a megadott dátum dátumrészeit. Cserélj egy datepart értéket a táblázatból a SELECT állítás argumentumára datepart :

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

Itt van az eredmények összessége.

datepart Visszaadott érték
év, yyyyy, yy 2007
negyed, qq, q 4
hónap, mm, m Október
Napofyear, Dy, Y 303
nap, dd, d 30
hét, hét, ww 44
hétköznap, DW Kedd
óra, hh 12
perc, n 15
másod, ss, s 32
milliszekundum, MS 123
mikroszekundumus, MCS 123456
nanoszekundumi, ns 123456700
TZoffset, tz +05:10
ISO_WEEK, ISOWK, ISOWW 44

Azure Synapse Analytics and Analytics Platform System (PDW)

Ez a példa adja vissza a megadott dátum dátumrészeit. Cserélj egy datepart értéket a táblázatból a SELECT állítás argumentumára datepart :

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

Itt van az eredmények összessége.

datepart Visszaadott érték
év, yyyyy, yy 2007
negyed, qq, q 4
hónap, mm, m Október
Napofyear, Dy, Y 303
nap, dd, d 30
hét, hét, ww 44
hétköznap, DW Kedd
óra, hh 12
perc, n 15
másod, ss, s 32
milliszekundum, MS 123
mikroszekundumus, MCS 123456
nanoszekundumi, ns 123456700
TZoffset, tz +05:10
ISO_WEEK, ISOWK, ISOWW 44

Lásd még

CAST és CONVERT (Transact-SQL)