DATEPART (Transact-SQL)

Restituisce un valore integer che rappresenta la parte specificata della data indicata.

Icona di collegamento a un argomentoConvenzioni 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

Guida in linea e informazioni

Assistenza su SQL Server 2005