DATEPART (Transact-SQL)
Restituisce un valore integer che rappresenta la parte specificata della data indicata.
Convenzioni della sintassi Transact-SQL
Sintassi
DATEPART ( datepart , date )
Argomenti
datepart
Parametro che specifica la parte della data da restituire. Nella tabella seguente sono elencate le parti della data e le abbreviazioni riconosciute da Microsoft SQL Server 2005.Parte della data Abbreviazioni year
yy, yyyy
quarter
qq, q
month
mm, m
dayofyear
dy, y
day
dd, d
week
wk, ww
weekday
dw
hour
hh
minute
mi, n
second
ss, s
millisecond
ms
La parte della data week (wk, ww) riflette le modifiche apportate alla funzione SET DATEFIRST. Il 1° gennaio di qualsiasi anno definisce il numero iniziale per la parte della data week. Ad esempio DATEPART(wk,'1 gen, xxxx') = 1, dove xxxx è qualsiasi anno.
La parte della data weekday (dw) restituisce un numero corrispondente al giorno della settimana, ad esempio domenica= 1, sabato = 7. Il numero restituito dalla parte della data weekday dipende dal valore impostato tramite SET DATEFIRST. Questa istruzione consente di impostare il primo giorno della settimana.
date
Espressione che restituisce un valore di tipo datetime o smalldatetime oppure una stringa di caratteri con un formato di data. È possibile utilizzare il tipo di dati datetime solo per date successive al 1° gennaio 1753. Archiviare le date precedenti come dati di tipo carattere. I valori di tipo datetime devono essere sempre racchiusi tra virgolette. Poiché la precisione del tipo di dati smalldatetime è limitata ai minuti, quando si utilizza un valore di tipo smalldatetime, i secondi e i millisecondi sono sempre uguali a 0.Se si specificano solo le ultime due cifre dell'anno, i valori minori o uguali alle ultime due cifre del valore dell'opzione di configurazione two-digit year cutoff vengono interpretati come appartenenti allo stesso secolo dell'anno di cambio data. I valori maggiori delle ultime due cifre del valore di questa opzione vengono interpretati come appartenenti al secolo precedente a quello dell'anno di cambio data. Ad esempio, se l'opzione two-digit year cutoff è impostata su 2049 (valore predefinito), il valore 49 viene interpretato come 2049 e il valore 50 viene interpretato come 1950. Per evitare ambiguità utilizzare il formato con anno a quattro cifre.
Per ulteriori informazioni sull'impostazione di valori di ora, vedere Formati di ora. Per ulteriori informazioni sull'impostazione di date, vedere Tipi di dati data/ora (Transact-SQL).
Tipi restituiti
int
Osservazioni
Le funzioni DAY, MONTH e YEAR sono rispettivamente sinonimi di DATEPART(**dd,**date), DATEPART(mm, date) e DATEPART(yy, date).
Esempi
La funzione GETDATE restituisce la data corrente. Tuttavia, non sempre è necessario disporre della data completa per eseguire operazioni di confronto. È spesso sufficiente confrontare solo una parte della data. Nell'esempio seguente viene illustrato l'utilizzo di GETDATE
e DATEPART
.
SELECT GETDATE() AS 'Current Date'
GO
Set di risultati:
Current Date
---------------------------
Feb 18 1998 11:46PM
SELECT DATEPART(month, GETDATE()) AS 'Month Number'
GO
Set di risultati:
Month Number
------------
2
Nell'esempio seguente si presuppone che la data corrente sia il 29 maggio.
SELECT DATEPART(month, GETDATE())
GO
Set di risultati:
-----------
5
(1 row(s) affected)
Nell'esempio seguente la data viene specificata come numero. Si noti che SQL Server interpreta il valore 0 come 1 gennaio 1900.
SELECT DATEPART(m, 0), DATEPART(d, 0), DATEPART(yy, 0)
Set di risultati:
----- ------ ------
1 1 1900
Vedere anche
Riferimento
CAST e CONVERT (Transact-SQL)
Tipi di dati (Transact-SQL)
Funzioni di data e ora (Transact-SQL)
Altre risorse
Formato ISO 8601
Formato di data alfabetico
Formato di data numerico
Formato di data e ora ODBC
Formati di ora
Formato stringa senza separatori