Funkce DATENAME() vrací řetězec typu navarchar, který reprezentuje zadanou část data, může to být den, měsíc, rok nebo čas určitého data.

Funkce DATENAME() je podobná funkci DATEPART() s výjimkou typu vrácení.

Funkce DATENAME() vrací část data jako řetězec znaků, zatímco funkce DATEPART() vrací část data jako celé číslo.

SYNTAX

DATENAME (datepart, inputdate) 

datepart je část data, která se má extrahovat.

inputdate je datum, ze kterého se část data extrahuje.

Podívejme se na příklad funkce DATENAME v SQL.

Následující příkaz používá funkci DATENAME, která z daného data ‚2018-03-27 18:23:45 extrahuje části data.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

Jak vidíte, vrací všechny části data, jako je čtvrtletí, měsíc, den, den roku, týden, hodina, minuta, sekunda, milisekunda, mikrosekunda a nanosekunda.

Pomocí funkce DATENAME tedy můžete získat libovolnou část data.

Následuje seznam platných částí data, které můžete použít k získání části data podle vašich požadavků.

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

Podívejme se na příklad s ohledem na rozdíl mezi DATEPART a DATENAME.

DATEPART vrací část data jako celé číslo, kdežto DATENAME vrací datový řetězec.

Přidáte-li tedy k výsledku vrácenému pomocí DATEPART libovolné číslo, přičte toto číslo k výsledku a vrátí upravený výsledek, kdežto přidáte-li k výsledku vrácenému pomocí DATENAME libovolné číslo , spojí toto číslo s výsledkem, místo aby ho přičetl.

Podívejme se na příklad, v následujícím příkazu vidíte, že pro dané datum se snažíme přidat hodnotu 2 do výsledku vráceného funkcí DATEPART a DATENAME pro část měsíce a roku pro dané datum.

Vidíte konečný výsledek, kde funkce DATEPART přidá do výsledku hodnotu 2, zatímco funkce DATENAME spojí hodnotu 2 s výsledkem.

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,

Doporučujeme vám

SQL server DATEPART()

Celkem 325 zobrazení, dnes 3 zobrazení

admin

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.

lg