Maison >base de données >tutoriel mysql >Comment pouvons-nous ignorer les valeurs négatives renvoyées par la fonction MySQL DATEDIFF() ?

Comment pouvons-nous ignorer les valeurs négatives renvoyées par la fonction MySQL DATEDIFF() ?

PHPz
PHPzavant
2023-09-23 21:33:111685parcourir

我们如何忽略 MySQL DATEDIFF() 函数返回的负值?

Comme nous le savons tous, la fonction DATEDIFF() est utilisée pour obtenir la différence en jours entre deux dates. Par conséquent, il est également probable qu’il renvoie des valeurs négatives.

mysql> select * from differ;
+------------+-------------+
| OrderDate  | WorkingDate |
+------------+-------------+
| 2017-10-22 | 2017-10-29  |
| 2017-10-25 | 2017-10-30  |
| 2017-10-25 | 2017-11-30  |
+------------+-------------+
3 rows in set (0.00 sec)

La requête ci-dessus renverra les valeurs du tableau "différent". Maintenant, si l'on veut obtenir la différence entre OrderDate et workingDate, alors la sortie sera négative comme indiqué ci-dessous -

mysql> Select DATEDIFF(OrderDate, WorkingDate)AS 'DIFFERENCE IN DAYS' from differ;
+--------------------+
| DIFFERENCE IN DAYS |
+--------------------+
|                 -7 |
|                 -5 |
|                -36 |
+--------------------+
3 rows in set (0.00 sec)

Mais nous pouvons ignorer ces valeurs négatives en utilisant la fonction MySQL ABS() comme suit -

mysql> Select ABS(DATEDIFF(OrderDate, WorkingDate))AS 'DIFFERENCE IN DAYS' from differ;
+--------------------+
| DIFFERENCE IN DAYS |
+--------------------+
|                  7 |
|                  5 |
|                 36 |
+--------------------+
3 rows in set (0.00 sec)

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer
Article précédent:Que signifie /* dans MySQL ?Article suivant:Que signifie /* dans MySQL ?