谁能告诉我如何从现在选择最近的日期(差异最小)?
目前我正在使用这样的东西
SELECT MAX(DatumAangemaakt) AS RecenteSchema FROM Personeelsschema
我使用了 Max() 函数,但这并不好,因为如果我有一个 future 的日期(例如 2015-06-23),这个日期将被选中。
我需要的是选择今天的日期(如果有的话)或今天的最近日期,例如:
2015-06-23
2015-06-01
2015-05-17(会选这个)
有办法吗?
最佳答案
获取当前日期之后的所有日期,对它们进行排序并获得最高记录:
SELECT DatumAangemaakt AS RecenteSchema
FROM Personeelsschema
WHERE DATE(DatumAangemaakt) >= DATE(NOW())
ORDER BY DatumAangemaakt LIMIT 1
如果您还想在邻近检查中包含过去的日期,那么您可以使用以下查询:
SELECT DatumAangemaakt
FROM Personeelsschema
ORDER BY ABS(TIMESTAMPDIFF(DAY, DatumAangemaakt, DATE(NOW()))) LIMIT 1
关于php - 从数据库中选择(从今天)差异最小的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30200153/