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