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