La funzione DATENAME() restituisce una stringa, di tipo navarchar, che rappresenta una parte di data specificata, può essere un giorno, mese, anno o ora di una data specifica.
DATENAME() è simile a DATEPART() eccetto per il tipo di ritorno.
La funzione DATENAME() restituisce la parte di data come una stringa di caratteri mentre DATEPART() restituisce la parte di data come un intero.
SYNTAX
DATENAME (datepart, inputdate)
datepart è la parte di una data da estrarre.
inputdate è la data da cui viene estratta la parte di data.
Guardiamo un esempio della funzione DATENAME in SQL.
La seguente dichiarazione usa la funzione DATENAME, che estrae le parti di data dalla data data data ‘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
Come potete vedere, restituisce tutte le parti della data come trimestre, mese, giorno, giorno dell’anno, settimana, ora, minuto, secondo, millisecondo, microsecondo e nanosecondo.
Quindi usando la funzione DATENAME potete ottenere qualsiasi parte di data.
Seguono le liste di datepart valide che potete usare per ottenere una parte di data secondo il vostro requisito.
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
Guardiamo un esempio considerando la differenza tra DATEPART e DATENAME.
DATEPART restituisce una parte di data come un intero, mentre DATENAME restituisce una stringa di tipo dati.
Così, se aggiungete un qualsiasi numero al risultato restituito da DATEPART, esso aggiunge il numero al risultato e restituisce il risultato modificato, mentre quando aggiungete un qualsiasi numero al risultato restituito da DATENAME, esso concatena il numero al risultato invece di aggiungerlo.
Guardiamo un esempio, nella seguente dichiarazione potete vedere che per una data data data cerchiamo di aggiungere il valore 2 nel risultato restituito da DATEPART e DATENAME per la parte di data del mese e dell’anno per una data data data.
Puoi vedere il risultato finale dove la funzione DATEPART aggiunge il 2 nel risultato mentre DATENAME concatena il 2 con il risultato.
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,
Raccomandato per te
SQL Server DATEPART()
325 visualizzazioni totali, 3 viste oggi