如何忽略 MySQL DATEDIFF() 函数返回的负值?
mysqlmysqli database更新于 2025/4/8 10:20:17
众所周知,DATEDIFF() 函数用于获取两个日期之间的天数差。因此,它也很有可能返回负值。
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)
上述查询将返回表"differ"中的值。现在,如果有人想获取 OrderDate 和 WorkingDate 之间的差值,则输出将为负数,如下所示 −
mysql> Select DATEDIFF(OrderDate, WorkingDate)AS 'DIFFERENCE IN DAYS' from differ; +--------------------+ | DIFFERENCE IN DAYS | +--------------------+ | -7 | | -5 | | -36 | +--------------------+ 3 rows in set (0.00 sec)
但是我们可以使用 MySQL ABS() 函数来忽略这些负值,具体操作如下 −
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)
相关文章
有用资源
mysql 参考教程 - 该教程包含有关 mysql 的更多信息:https://www.cainiaomax.com/mysql/

