Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:SQL Server
SSIS Integration Runtime in Azure Data Factory
Restituisce il numero di limiti di data e ora superati 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 di risultato
DT_I4
Osservazioni:
Nella tabella seguente sono elencate le parti della data e le abbreviazioni riconosciute dall'analizzatore di espressioni.
| parte della data | Abbreviazioni |
|---|---|
| Anno | sì, sìì |
| Trimestre | qq, q |
| Mese | mm, m |
| Giorno dell'anno | dy, y |
| Giorno | dd, d |
| Settimana | WK, WW |
| Giorno feriale | dw, w |
| Ore | Hh |
| Minuto | mi, n |
| Secondo | ss, s |
| Millisecondo | Sig.ra |
DATEDIFF restituisce un risultato null se uno qualsiasi degli argomenti è null.
Un valore letterale di data deve essere convertito esplicitamente tramite cast a uno dei tipi di dati data. 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 è di tipo di dati date, non è necessario eseguire un cast esplicito.
DATEDIFF("Week", ModifiedDate,@YearEndDate)