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

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

Si vous souhaitez tra­vail­ler de manière encore plus ciblée avec MySQL, nous vous re­com­man­dons de vous fa­mi­lia­ri­ser avec quelques fonctions relatives à la date et à l’heure. En plus de la commande MySQL DATE, la fonc­tion­na­lité 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 en­re­gis­trer en tant que valeurs de données au­to­ri­sées. Le résultat consiste alors en une valeur positive ou négative (selon l’ordre chro­no­lo­gique 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 fa­mi­lia­ri­ser avec MySQL, il vous suffit de mémoriser la commande ci-dessous :

SELECT DATEDIFF ("Expression1", "Expression2")
bash

« Ex­pres­sion1 » cor­res­pond ici à la première date, tandis que « Ex­pres­sion2 » re­pré­sente la deuxième.

MySQL DATEDIFF : exemples

Voici un exemple simple pour vous aider à com­prendre ra­pi­de­ment le fonc­tion­ne­ment de la commande MySQL DATEDIFF :

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

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

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

MySQL DATEDIFF : données tem­po­relles plus longues

La commande MySQL DATEDIFF fonc­tionne également avec des données tem­po­relles plus longues et filtre uni­que­ment les in­for­ma­tions per­ti­nentes. 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");
bash

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

Exemple de valeur négative

Vous pouvez aussi utiliser la commande MySQL DATEDIFF pour in­ter­ro­ger 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");
bash

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

DATEDIFF ("2022-01-01", "2022-01-30")
-29
bash
Aller au menu principal