22 Voix

MySQL: Obtenir le Nombre de Jours entre deux Horodatages

Question de Invité | 16/07/2021 à 12:57

Je voudrais trouver un moyen MySQL pour déterminer combien de jours il y a entre deux heures spécifiées.

J'ai donc un horodatage (timestamp) ou une date et j'aimerais le comparer à une autre date afin de calculer le décalage horaire. Si possible, il faut considérer que les mois ont un nombre de jours variable.

Comment puis-je implémenter cela dans MySQL ?

RépondrePositifNégatif
2Meilleure Réponse2 Voix

À cette fin, MySQL fournit la fonction DATEDIFF(). Vous pouvez passer 2 dates à cette fonction et vous récupérez le décalage horaire entre eux.

Par exemple comme ça :

SELECT DATEDIFF('2031-01-01', '2021-01-01') AS d;

Ici, nous calculons le nombre de jours entre le 1er janvier 2021 et le 1er janvier 2031. Pour s'assurer que le résultat sera positif, la première date doit être supérieure à la seconde. Sinon, nous obtiendrons une valeur négative.

Bien entendu, on peut aussi récupérer directement la date dans une table:

SELECT id, DATEDIFF('2021-01-01', dat) FROM tab;

Dans cet exemple, nous lisons les enregistrements de la table "tab". Dans cette table, il y a aussi la colonne "dat" dans laquelle les données sont stockées. Ici, nous aimerions obtenir le décalage horaire entre cette date et le 1 janvier 2021.

Au lieu d'utiliser une date fixe, nous pouvons également utiliser la date actuelle en utilisant CURDATE() :

SELECT DATEDIFF('2031-01-01', CURDATE()) AS d;

Cette requête nous indique combien de jours il y a entre maintenant et le 1er janvier 2031.

Si nous souhaitons spécifier l'âge des enregistrements dans notre base de données, nous pouvons également utiliser CURDATE() et combiner les deux:

SELECT id, DATEDIFF(CURATE(), dat) FROM tab;

Au fait, il existe également la fonction TIMEDIFF() avec laquelle nous pouvons calculer plus précisément la différence entre deux horodatages.
16/07/2021 à 21:16

RépondrePositif Négatif
Répondre

Sujets Connexes

Avis Important

Veuillez noter: Les contributions publiées sur askingbox.com sont des contributions d’utilisateurs et ne doivent pas remplacer les conseils d’un professionnel. Ils ne sont pas vérifiés par des indépendants et ne reflètent pas nécessairement l’opinion de askingbox.com. Apprendre encore plus.

Participer

Posez votre propre question ou écrivez votre propre article sur askingbox.com. Voici comment.