DATEDIFF (espressione SSIS)
Restituisce il numero di unità di data e ora trascorse tra due date specificate. Il parametro datepart identifica i limiti di data e ora da confrontare.
Sintassi
DATEDIFF(datepart, startdate, endate)
Argomenti
datepart
Parametro che specifica per quale parte della data si desidera eseguire il confronto e restituire un valore.
startdate
Data di inizio dell'intervallo.
endate
Data di fine dell'intervallo.
Tipi restituiti
DT_I4
Commenti
Nella tabella seguente sono elencate le parti della data e le abbreviazioni riconosciute dall'analizzatore di espressioni.
parte di una data | Abbreviazioni |
---|---|
Year | yy, yyyy |
Quarter | qq, q |
Month | mm, m |
Dayofyear | dy, y |
Giorno | dd, d |
Settimana | wk, ww |
Giorno della settimana | dw, w |
Ora | Hh |
Minuto | mi, n |
Second | ss, s |
Millisecond | Ms |
Se un argomento qualsiasi è Null, DATEDIFF restituirà Null.
Per i valori letterali di data è necessario eseguire il cast esplicito a uno dei tipi di dati date. Per altre informazioni, vedere Tipi di dati di Integration Services.
Se la data non è valida, l'ora o la data non è una stringa oppure la data di inizio o fine non è una data, verrà generato un errore.
Se la data di fine è anteriore a quella di inizio, la funzione restituirà un numero negativo. Se le date di inizio e di fine coincidono o rientrano nello stesso intervallo, la funzione restituirà zero.
Esempi di espressione SSIS
In questo esempio viene calcolato il numero dei giorni tra due valori letterali di data. Se la data è in formato "mm/gg/aaaa", la funzione restituirà 7.
DATEDIFF("dd", (DT_DBTIMESTAMP)"8/1/2003", (DT_DBTIMESTAMP)"8/8/2003")
In questo esempio viene restituito il numero dei mesi tra un valore letterale data e la data corrente.
DATEDIFF("mm", (DT_DBTIMESTAMP)"8/1/2003",GETDATE())
In questo esempio viene restituito il numero delle settimane tra la data nella colonna ModifiedDate e quella nella variabile YearEndDate . Se YearEndDate ha un date
tipo di dati, non è necessario eseguire il cast esplicito.
DATEDIFF("Week", ModifiedDate,@YearEndDate)
Vedere anche
DATEADD (espressione SSIS)
DATEPART (espressione SSIS)
DAY (espressione SSIS)
MONTH (espressione SSIS)
YEAR (espressione SSIS)
Funzioni (espressione SSIS)