Nous pouvons créer une fonction qui accepte la valeur de date comme paramètre et renvoie la différence en année, mois et jour comme indiqué ci-dessous
mysql> CREATE FUNCTION date_difference(Date1 DATE, date2 DATE) RETURNS VARCHAR(30) -> RETURN CONCAT( -> @years := TIMESTAMPDIFF(YEAR, date1, date2),IF (@years = 1, ' year, ', ' years, '), -> @months := TIMESTAMPDIFF(MONTH, DATE_ADD(date1, INTERVAL @years YEAR), date2),IF (@months = 1, ' month, ', ' months, '), -> @days := TIMESTAMPDIFF(DAY, DATE_ADD(date1, INTERVAL @years * 12 + @months MONTH), date2),IF (@days = 1, ' day', ' days')) ; Query OK, 0 rows affected (0.00 sec)
Maintenant, transmettez la valeur de date en tant que paramètre à la fonction date_difference
mysql> Select date_difference('2015-11-16','2016-12-17') AS Difference; +------------------------+ | Difference | +------------------------+ | 1 year, 1 month, 1 day | +------------------------+ 1 row in set (0.00 sec)
L'ensemble de résultats ci-dessus donne la différence entre deux dates spécifiées comme argument de la fonction.
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!