A DATENAME() függvény egy navarchar típusú karakterláncot ad vissza, amely egy megadott dátumrészt reprezentál, ez lehet egy adott dátum napja, hónapja, éve vagy időpontja.
A DATENAME() hasonló a DATEPART() függvényhez, kivéve a visszatérési típusát.
A DATENAME() függvény a dátumrészt karakterláncként, míg a DATEPART() a dátumrészt egész számként adja vissza.
SYNTAX
DATENAME (datepart, inputdate)
A dátumrész a dátum kivonandó része.
inputdate az a dátum, amelyből a dátumrész kivonásra kerül.
Nézzünk egy példát a DATENAME függvényre az SQL-ben.
A következő utasítás a DATENAME függvényt használja, amely kivonja a dátumrészeket az adott dátumból ‘2018-03-27 18:23:45.470’
DECLARE @date DATETIME = '2018-03-27 18:23:45.470';SELECT DATENAME(year, @date) as year,DATENAME(quarter, @date) as quarter,DATENAME(month, @date) as month,DATENAME(day, @date) as day,DATENAME(dayofyear ,@date) as dayofyear,DATENAME(Week ,@date) as week,DATENAME(hour, @date) as hour,DATENAME(minute, @date) as minute,DATENAME(second, @date) as second ,DATENAME(millisecond, @date) as millisecond ,DATENAME(microsecond, @date) as microsecond ,DATENAME(nanosecond, @date) as nanosecond
Amint láthatja, Visszaadja a dátum összes részét, például a negyedév, a hónap, a nap, az év napja, az év napja, a hét, az óra, a perc, a másodperc, a miliszekundum, a mikroszekundum és a nanoszekundum.
A DATENAME függvény használatával tehát a dátum bármelyik részét megkaphatja.
A következők az érvényes datepart-listák, amelyeket a dátum egy részének az igényeinek megfelelő lekérdezéséhez használhat.
day d, dd month m, mmyear yy, yyyyquarter qq, qhour hhminute mi, nsecond ss, smillisecond msmicrosecond mcsnanosecond nsweek wk, wwdayofyear dy, y
DATEPART VS DATENAME
Nézzünk egy példát a DATEPART és a DATENAME közötti különbséget figyelembe véve.
A DATEPART a dátum egy részét egész számként adja vissza, míg a DATENAME egy adattípusú karakterláncot.
Így ha bármilyen számot hozzáad a DATEPART által visszaadott eredményhez, akkor a számot hozzáadja az eredményhez és a módosított eredményt adja vissza, míg ha bármilyen számot hozzáad a DATENAME által visszaadott eredményhez, akkor a számot összefűzi az eredménnyel ahelyett, hogy hozzáadná.
Nézzünk egy példát, a következő utasításban láthatjuk, hogy az adott dátumhoz a DATEPART és a DATENAME függvény által visszaadott eredményhez a hónap és az év dátumrészéhez az adott dátumhoz 2 értéket próbálunk hozzáadni.
Láthatjuk a végeredményt, ahol a DATEPART függvény hozzáadja a 2-t az eredményhez, míg a DATENAME a 2-t az eredménnyel kapcsolja össze.
DECLARE @date DATETIME = '2018-03-27 18:23:45.470';SELECT DATENAME(month, @date) + '2' as month_from_DateName, DATEPART(month, @date) + '2' as month_from_DatePart SELECT DATENAME(year, @date) + '2' as year_from_DateName, DATEPART(year, @date) + '2' as year_from_DatePart,
Előre ajánlott
SQL Server DATEPART()
325 összes megtekintés, 3 megtekintés ma