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 :
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>
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>
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>
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!