Partage via


DATEDIFF (expression SSIS)

S’applique à : SQL Server SSIS Integration Runtime dans Azure Data Factory

Renvoie le nombre de limites de date et d'heure traversées entre deux dates données. Le paramètre datepart identifie quelles limites de date et d’heure il faut comparer.

Syntaxe

  
DATEDIFF(datepart, startdate, endate)  

Arguments

datepart
Paramètre qui indique la partie de la date à comparer et pour laquelle une valeur doit être retournée.

startdate
Date de début de l'intervalle.

endate
Date de fin de l'intervalle.

Types des résultats

DT_I4

Remarques

Le tableau suivant décrit les parties de date et les abréviations reconnues par l'évaluateur d'expression.

partie de date Abréviations
Year yy, yyyy
Quarter (Trimestre) qq, q
Month mm, m
Jour de l'année dy, y
Jour dd, d
Semaine wk, ww
Jour de la semaine dw, w
Heure Hh
Minute mi, n
Seconde ss, s
Milliseconde Ms

La fonction DATEDIFF renvoie un résultat NULL si un argument est NULL.

Un littéral de date doit être explicitement converti dans l'un des types de données date. Pour plus d’informations, consultez Types de données Integration Services.

Une erreur se produit dans les cas suivants : une date n'est pas valide, l'unité de date ou d'heure n'est pas une chaîne, la date de début n'est pas une date ou la date de fin n'est pas une date.

Si la date de fin est antérieure à la date de début, la fonction renvoie un nombre négatif. Si les dates de début et de fin sont identiques ou qu'elles appartiennent au même intervalle, la fonction renvoie zéro.

Exemples d'expressions SSIS

L'exemple suivant calcule le nombre de jours entre deux littéraux de date. Si le format de la date est « mm/jj/aaaa », la fonction renvoie 7.

DATEDIFF("dd", (DT_DBTIMESTAMP)"8/1/2003", (DT_DBTIMESTAMP)"8/8/2003")  

L'exemple suivant renvoie le nombre de mois entre un littéral de date et la date actuelle.

DATEDIFF("mm", (DT_DBTIMESTAMP)"8/1/2003",GETDATE())  

L’exemple suivant retourne le nombre de semaines entre la date de la colonne ModifiedDate et la variable YearEndDate . Si la variable YearEndDate est du type de données date , aucune conversion explicite n’est nécessaire.

DATEDIFF("Week", ModifiedDate,@YearEndDate)  

Voir aussi

DATEADD (expression SSIS)
DATEPART (expression SSIS)
DAY (expression SSIS)
MONTH (expression SSIS)
YEAR (expression SSIS)
Fonctions (expression SSIS)