Maison > base de données > tutoriel mysql > Comment calculer la différence d'années entre deux dates dans MySQL ?

Comment calculer la différence d'années entre deux dates dans MySQL ?

Patricia Arquette
Libérer: 2025-01-09 18:22:40
original
781 Les gens l'ont consulté

How to Calculate the Difference in Years Between Two Dates in MySQL?

Comment calculer la différence d'année entre deux dates dans MySQL

Dans les opérations de base de données, il est souvent nécessaire de calculer le décalage horaire entre deux dates. MySQL propose plusieurs méthodes pour calculer les différences de date, y compris le calcul des différences d'année.

Voici quelques exemples :

  • 20/07/2011 - 18/07/2011 => 0 ans
  • 20/07/2011 - 20/07/2010 => 1 an
  • 2011-06-15 - 2008-04-11 => 3 ans
  • 2011-06-11 - 2001-10-11 => 9 ans

Pour calculer la différence d'année, vous pouvez utiliser l'expression simple suivante :

<code class="language-sql">YEAR(date1) - YEAR(date2) - (DATE_FORMAT(date1, '%m%d') < DATE_FORMAT(date2, '%m%d'))</code>
Copier après la connexion

Cette expression prend en compte les années bissextiles. La soustraction des formats de date garantit que le résultat est ajusté à la date antérieure de l'année.

Par exemple, en utilisant le scénario de test donné :

<code class="language-sql">CREATE TABLE so7749639 (date1 DATE, date2 DATE);
INSERT INTO so7749639 VALUES
('2011-07-20', '2011-07-18'),
('2011-07-20', '2010-07-20'),
('2011-06-15', '2008-04-11'),
('2011-06-11', '2001-10-11'),
('2007-07-20', '2004-07-20');
SELECT date1, date2,
YEAR(date1) - YEAR(date2) - (DATE_FORMAT(date1, '%m%d') < DATE_FORMAT(date2, '%m%d')) AS diff_years
FROM so7749639;</code>
Copier après la connexion

Les résultats de sortie sont les suivants :

<code>+------------+------------+------------+
| date1      | date2      | diff_years |
+------------+------------+------------+
| 2011-07-20 | 2011-07-18 | 0          |
| 2011-07-20 | 2010-07-20 | 1          |
| 2011-06-15 | 2008-04-11 | 3          |
| 2011-06-11 | 2001-10-11 | 9          |
| 2007-07-20 | 2004-07-20 | 3          |
+------------+------------+------------+</code>
Copier après la connexion

Ainsi, en utilisant cette expression, vous pouvez effectivement obtenir la différence d'année entre deux dates dans MySQL.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal