DATEADD (SSIS)
Restituisce un nuovo valore DT_DBTIMESTAMP dopo avere aggiunto alla parte specificata di una data un numero che rappresenta un intervallo di date o di ore. Il parametro number deve restituire un valore integer e il parametro date deve restituire una data valida.
Sintassi
DATEADD(datepart, number, date)
Argomenti
datepart
Parametro che specifica la parte della data a cui aggiungere il numero.number
Valore utilizzato per incrementare il valore datepart. Deve essere un valore integer noto al momento dell'analisi dell'espressione.date
Espressione che restituisce una data valida o una stringa con formato di data.
Tipi restituiti
DT_DBTIMESTAMP
Osservazioni
Nella tabella seguente sono elencate le parti della data e le abbreviazioni riconosciute dall'analizzatore di espressioni. Per i nomi delle parti della data non viene fatta distinzione tra maiuscole e minuscole.
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 |
L'argomento number deve essere disponibile al momento dell'analisi dell'espressione. Può essere una costante o una variabile. Non è possibile utilizzare valori di colonna, perché tali valori non sono noti al momento dell'analisi dell'espressione.
L'argomento datepart deve essere racchiuso tra virgolette.
Per i valori letterali di data è necessario eseguire il cast esplicito a uno dei tipi di dati date. Per ulteriori informazioni, vedere Tipi di dati di Integration Services.
[!NOTA]
La convalida dell'espressione non riesce quando viene eseguito il cast esplicito di un valore letterale di data a uno di questi tipi di dati relativi alle date: DT_DBTIMESTAMPOFFSET, DT_DBTIMESTAMP2 e DT_DBTIME2.
Se l'argomento è Null, DATEADD restituirà Null.
Se la data non è valida, l'unità di data o tempo non è una stringa oppure l'incremento non è un valore integer statico, verrà generato un errore.
Esempi
In questo esempio viene aggiunto un mese alla data corrente.
DATEADD("Month", 1,GETDATE())
In questo esempio vengono aggiunti 21 giorni alle date nella colonna ModifiedDate.
DATEADD("day", 21, ModifiedDate)
In questo esempio vengono aggiunti 2 anni a un valore letterale data.
DATEADD("yyyy", 2, (DT_DBTIMESTAMP)"8/6/2003")
Vedere anche