DATEADD (Transact-SQL)
Data aggiornamento: 14 aprile 2006
Restituisce un nuovo valore datetime basato sull'aggiunta di un intervallo alla data specificata.
Convenzioni 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 |
|
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