【发布时间】:2013-07-01 03:42:11
【问题描述】:
我们在数据库中有两个日期:
- 2013-08-01
- 2013-08-03
假设今天的日期是 2013-08-02,我们想从数据库中获取下一个最接近的日期。我找到了这个查询,但不是第二天而是上一个:
SELECT
*
FROM
your_table
ORDER BY
ABS(DATEDIFF(NOW(), `date`))
LIMIT 1
当我们运行它时,我们会得到 2013-08-01 而不是 2013-08-03 我们想要的。解决办法是什么?
【问题讨论】:
-
您总是想获取未来的日期,还是想获取当前日期之前或之后最接近的日期?
-
两个日期等距。您如何确定 2013-08-03 优于 2013-08-01?
标签: mysql sql sql-order-by sql-limit