DATENAME (Transact-SQL)

  • 7/29/2017
  • 3 perc olvasás
    • c
    • j
    • .

    • r
    • M
    • M
    • +9

Az alábbiakra vonatkozik: SQL Server (minden támogatott verzió) Azure SQL adatbázis Azure SQL Managed Instance Azure Synapse Analytics Parallel Data Warehouse

Ez a függvény egy karakterláncot ad vissza, amely a megadott dátum megadott dátumrészét reprezentálja.

A Transact-SQL dátum- és időadattípusok és -függvények (Transact-SQL) áttekintését lásd a Dátum és idő adattípusok és -függvények.

Transact-SQL szintaxis konvenciók

Szintaxis

DATENAME ( datepart , date ) 

Figyelem

Az SQL Server 2014 és korábbi verziók Transact-SQL-szintaxisának megtekintéséhez lásd a Korábbi verziók dokumentációját.

Argumentumok

Dátumrész
A dátumargumentum konkrét része, amelyet a DATENAME visszaad. Ez a táblázat az összes érvényes datepart argumentumot felsorolja.

Figyelem

DATENAME nem fogadja el a datepart argumentumok felhasználó által definiált változó-egyenértékeit.

datepart Abbreviations
year yy, yyyy
negyedév qq, q
hónap mm, m
évnap dy, y
nap dd, d hét wk, ww hétköznap dw, w
óra hh
perc mi, n másodperc ss, s
milliszekundum ms
mikroszekundum mcs
nanoszekundum ns
TZoffset tz
ISO_WEEK ISOWK, ISOWW

date

Az alábbi adattípusok egyikére feloldható kifejezés:

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

Dátum esetében a DATENAME elfogad egy oszlopkifejezést, kifejezést, string literált vagy felhasználó által meghatározott változót. Használjon négyjegyű évszámokat a félreérthetőségi problémák elkerülése érdekében. A kétjegyű évszámokkal kapcsolatos információkért lásd: A kétjegyű évszámok elválasztásának beállítása Kiszolgálói konfigurációs opció.

Return Type

nvarchar

Return Value

  • Minden dátumrész és rövidítései ugyanazt az értéket adják vissza.

A visszatérési érték a SET LANGUAGE használatával beállított nyelvi környezettől és a Bejelentkezés alapértelmezett nyelvének beállítása Kiszolgálói konfigurációs opciótól függ. A visszatérési érték a SET DATEFORMAT használatától függ, ha a dátum bizonyos formátumú string literál. 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éter dátum adattípusú argumentummal rendelkezik, a visszatérési érték a SET DATEFIRST által megadott beállítástól függ.

TZoffset datepart argumentum

Ha a datepart argumentum TZoffset (tz), és a dátum argumentumnak nincs időzóna eltolása, a DATEADD 0-t ad vissza.

smalldatetime date Argument

Ha a date smalldatetime, a DATENAME a másodperceket 00-ként adja vissza.

A date argumentumban nem szereplő datepartra visszaadott alapértelmezés

Ha a date argumentum adattípusa nem tartalmazza a megadott datepartot, a DATENAME csak akkor adja vissza az adott datepartra vonatkozó alapértelmezést, ha a date argumentumban van egy szó szerinti .

Az alapértelmezett év-hónap-nap például bármely date adattípus esetén 1900-01-01. Ez az utasítás dátumrész argumentumokat tartalmaz a dátumrészhez, egy idő argumentumot a dátumhoz, és az DATENAME 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átum változó vagy táblázat oszlopaként van megadva, és az adott változó vagy oszlop adattípusa nem rendelkezik a megadott dátumrésszel, az DATENAME 9810-es hibát ad vissza. Ebben a példában a @t változónak idő adattípusa van. A példa sikertelen, mert a dátumrész év érvénytelen az idő adattípushoz:

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

Megjegyzések

A DATENAME a következő záradékokban használható:

  • GROUP BY
  • HAVING
  • ORDER BY
  • SELECT <list>
  • WHERE

Az SQL Serverben a DATENAME implicit módon a string literálokat datetime2 típussá alakítja. Más szóval a DATENAME nem támogatja az YDM formátumot, ha a dátumot sztringként adjuk át. Az YDM formátum használatához a karakterláncot kifejezetten datetime vagy smalldatetime típusúvá kell alakítania.

Példák

Ez a példa a megadott dátumhoz tartozó dátumrészleteket adja vissza. Helyettesítse a SELECT utasításban a datepart argumentumot a táblázatból származó dátumrész-értékkel:

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

Itt az eredményhalmaz.

datepart Return value
year, yyyy, yy 2007
quarter, qq, q 4
month, mm, m október
év napja, dy, y 303
nap, dd, d 30
hét, wk, ww 44
heti nap, dw Tuesday
hour, hh 12
minute, n 15
second, ss, s 32 millisecond, ms 123
mikromásodperc, mcs 123456
nanoszekundum, ns 123456700
TZoffset, tz +05:10
ISO_WEEK, ISOWK, ISOWW 44

Azure Synapse Analytics and Parallel Data Warehouse

Ez a példa a megadott dátumhoz tartozó dátumrészeket adja vissza. Helyettesítse a SELECT utasításban a datepart argumentumot a táblázatból származó dátumrész értékével:

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

Itt az eredményhalmaz.

datepart Return value
year, yyyy, yy 2007
quarter, qq, q 4
month, mm, m október
év napja, dy, y 303
nap, dd, d 30
hét, wk, ww 44
heti nap, dw Tuesday
hour, hh 12
minute, n 15
second, ss, s 32 millisecond, ms 123
mikromásodperc, mcs 123456
nanoszekundum, ns 123456700
TZoffset, tz +05:10
ISO_WEEK, ISOWK, ISOWW 44

See also

CAST and CONVERT (Transact-SQL)

.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.