MySQL DATEDIFF : calculer l’intervalle de temps entre deux dates

La commande MySQL DATEDIFF permet d’afficher le nombre de jours entre deux dates. Le résultat correspond donc à une valeur positive ou négative.

MySQL DATEDIFF : qu’est-ce que c’est ?

Si vous souhaitez travailler de manière encore plus ciblée avec MySQL, nous vous recommandons de vous familiariser avec quelques fonctions relatives à la date et à l’heure. En plus de la commande MySQL DATE, la fonctionnalité MySQL DATEDIFF compte parmi les plus utiles de ce système de gestion de base de données. Elle indique en effet le nombre de jours séparant deux dates. Il suffit pour cela de les enregistrer en tant que valeurs de données autorisées. Le résultat consiste alors en une valeur positive ou négative (selon l’ordre chronologique de la période concernée par votre requête).

Syntaxe de la commande DATEDIFF de MySQL

La syntaxe de la commande MySQL DATEDIFF est très simple. Si vous souhaitez vous familiariser avec MySQL, il vous suffit de mémoriser la commande ci-dessous :

SELECT DATEDIFF ("Expression1", "Expression2")

« Expression1 » correspond ici à la première date, tandis que « Expression2 » représente la deuxième.

MySQL DATEDIFF : exemples

Voici un exemple simple pour vous aider à comprendre rapidement le fonctionnement de la commande MySQL DATEDIFF :

SELECT DATEDIFF ("2022-01-27", "2022-01-17");

Voici le résultat obtenu en exécutant cette commande :

DATEDIFF ("2022-01-27", "2022-01-17")
10

MySQL DATEDIFF : données temporelles plus longues

La commande MySQL DATEDIFF fonctionne également avec des données temporelles plus longues et filtre uniquement les informations pertinentes. Ainsi, même si vous indiquez à chaque fois la date et l’heure, la commande MySQL DATEDIFF ne prend en compte que les deux dates. Voici un exemple :

SELECT DATEDIFF ("2022-01-27 14:22:43", "2022-01-17 20:19:35");

Dans ce cas, le résultat est donc également « 10 ».

Exemple de valeur négative

Vous pouvez aussi utiliser la commande MySQL DATEDIFF pour interroger en premier lieu la date la plus ancienne, suivie de la date la plus récente. La valeur obtenue est alors négative. Voici ce à quoi ressemble la commande :

SELECT DATEDIFF ("2022-01-01", "2022-01-30");

Pour cet exemple, le résultat est donc le suivant :

DATEDIFF ("2022-01-01", "2022-01-30")
-29