CatĂ©gories :

Fonctions de date et d’heure

TIMESTAMPDIFF¶

Calcule la diffĂ©rence entre deux expressions de date, d’heure ou d’horodatage en fonction de la partie de date ou d’heure spĂ©cifiĂ©e. La fonction renvoie le rĂ©sultat de la soustraction du deuxiĂšme argument et du troisiĂšme argument.

Alternative pour DATEDIFF.

Syntaxe¶

TIMESTAMPDIFF( <date_or_time_part> , <date_or_time_expr1> , <date_or_time_expr2> )
Copy

Arguments¶

date_or_time_part

L’unitĂ© de temps. Doit ĂȘtre l’une des valeurs rĂ©pertoriĂ©es dans Parties de date et d’heure prises en charge (par exemple, month). La valeur peut ĂȘtre un littĂ©ral de chaĂźne ou peut ĂȘtre sans guillemets (par exemple 'month' ou month).

date_or_time_expr1, date_or_time_expr2

Les valeurs Ă  comparer. Doit ĂȘtre une date, une heure, un horodatage ou une expression pouvant correspondre Ă  une date, une heure ou un horodatage. La valeur date_or_time_expr1 est soustraite de date_or_time_expr2.

Renvoie¶

Renvoie un entier reprĂ©sentant le nombre d’unitĂ©s (secondes, jours, etc.) entre date_or_time_expr2 et date_or_time_expr1.

Notes sur l’utilisation¶

  • Les valeurs de sortie peuvent ĂȘtre nĂ©gatives, par exemple, -12 jours.

  • La fonction prend en charge les annĂ©es, les trimestres, les mois, les semaines, les jours, les heures, les minutes, les secondes, les millisecondes, les microsecondes et les nanosecondes.

  • Si date_or_time_part est week (ou l’une de ses variations), la sortie est contrĂŽlĂ©e par le paramĂštre de session WEEK_START. Pour plus de dĂ©tails, y compris des exemples, voir Semaines civiles et jours de semaine.

  • L’unitĂ© (par exemple, month) utilisĂ©e pour calculer la diffĂ©rence dĂ©termine quelles parties du champ DATE, TIME ou TIMESTAMP sont Ă©valuĂ©es. Ainsi, l’unitĂ© dĂ©termine la prĂ©cision du rĂ©sultat.

    Les unitĂ©s plus petites ne sont pas utilisĂ©es, les valeurs ne sont donc pas arrondies. Par exemple, mĂȘme si la diffĂ©rence entre le 1er janvier 2021 et le 28 fĂ©vrier 2021 est plus proche de deux mois que d’un mois, ce qui suit donne un mois :

    DATEDIFF(month, '2021-01-01'::DATE, '2021-02-28'::DATE)
    
    Copy

    Pour une valeur DATE :

    • year utilise uniquement l’annĂ©e et ignore toutes les autres parties.

    • month utilise le mois et l’annĂ©e.

    • day utilise la date entiĂšre.

    Pour une valeur TIME :

    • hour utilise uniquement l’heure et ignore toutes les autres parties.

    • minute utilise l’heure et les minutes.

    • second utilise l’heure, la minute et la seconde, mais pas les secondes fractionnĂ©es.

    • millisecond utilise l’heure, la minute, la seconde et les trois premiers chiffres des secondes fractionnĂ©es. Les secondes fractionnĂ©es ne sont pas arrondies. Par exemple, DATEDIFF(milliseconds, '2024-02-20 21:18:41.0000', '2024-02-20 21:18:42.1239') renvoie 1,123 seconde, et non 1,124 seconde.

    • microsecond utilise l’heure, la minute, la seconde et les six premiers chiffres des secondes fractionnelles. Les secondes fractionnĂ©es ne sont pas arrondies.

    • nanosecond utilise l’heure, la minute, la seconde et les neuf chiffres des secondes fractionnelles.

    Pour une valeur TIMESTAMP :

    Les rĂšgles correspondent aux rĂšgles pour les types de donnĂ©es DATE et TIME ci-dessus. Seules l’unitĂ© spĂ©cifiĂ©e et les unitĂ©s plus grandes sont utilisĂ©es.

Exemples¶

Pour des exemples, voir DATEDIFF. (DATEDIFF, TIMEDIFF et TIMESTAMPDIFF utilisent tous le mĂȘme format de base).