DATEADD (Transact-SQL)

Data aggiornamento: 14 aprile 2006

Restituisce un nuovo valore datetime basato sull'aggiunta di un intervallo alla data specificata.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

Sintassi

DATEADD (datepart , number, date )

Argomenti

  • datepart
    Parametro che consente di specificare di quale parte della data si desidera restituire un nuovo valore. 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, w

    hour

    hh

    minute

    mi, n

    second

    ss, s

    millisecond

    ms

  • number
    Valore utilizzato per incrementare il valore datepart. Se si specifica un valore non intero, la parte frazionaria viene eliminata. Se, ad esempio, si specifica day per datepart e 1.75 per number, date viene incrementato di 1.
  • date
    Espressione che restituisce un valore di tipo datetime o smalldatetime oppure una stringa di caratteri con un formato di data. Per ulteriori informazioni sulla specifica delle date, vedere Tipi di dati data/ora (Transact-SQL).

    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. Se, ad esempio, 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à, specificare gli anni utilizzando il formato a quattro cifre.

Tipi restituiti

Restituisce datetime, ma smalldatetime se l'argomento date è smalldatetime.

Osservazioni

Quando datepart è "month", il numero di giorni del mese influisce sul risultato. Agosto è ad esempio costituito da 31 giorni, mentre settembre è costituito da 30. Entrambe le istruzioni seguenti restituiscono 2006-09-30 00:00:00.000.

SELECT DATEADD(month, 1, '08/30/2006')
SELECT DATEADD(month, 1, '08/31/2006')

In altri termini, con l'aggiunta di un mese alla fine di agosto viene restituito l'ultimo giorno di settembre.

Cronologia delle modifiche

Versione Cronologia

14 aprile 2006

Nuovo contenuto:
  • Aggiunta della sezione Osservazioni.

Esempi

Nell'esempio seguente viene stampato un elenco di intervalli di date per gli ordini inclusi nel database AdventureWorks. Questo intervallo rappresenta la data dell'ordine esistente a cui vengono aggiunti 21 giorni.

USE AdventureWorks;
GO
SELECT DATEADD(day, 21, OrderDate)AS TimeFrame 
FROM Sales.SalesOrderHeader;
GO

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