从数据库中选择最不同(从今天开始)的日期

时间:2015-05-12 19:47:57

标签: php mysql sql date select

有人可以告诉我如何从现在开始选择最近的日期(差异最小)吗?
目前我正在使用类似的东西

SELECT MAX(DatumAangemaakt) AS RecenteSchema FROM Personeelsschema

我使用Max()函数,但它没有用,因为如果我将来有一个日期(例如2015-06-23),则会选择此日期。

我需要的是选择今天的日期(如果有的话)或从今天开始的最近日期,例如:
2015年6月23日
2015年6月1日
2015-05-17(这将被选中)

有没有办法做到这一点?

1 个答案:

答案 0 :(得分:2)

获取当前日期之后的所有日期,订购并获得最佳记录:

SELECT DatumAangemaakt AS RecenteSchema
FROM Personeelsschema
WHERE DATE(DatumAangemaakt) >= DATE(NOW()) 
ORDER BY  DatumAangemaakt  LIMIT 1

SQL Fiddle Demo

如果您还希望在邻近检查中包含过去的日期,那么您可以使用以下查询:

SELECT DatumAangemaakt
FROM Personeelsschema
ORDER BY ABS(TIMESTAMPDIFF(DAY, DatumAangemaakt, DATE(NOW()))) LIMIT 1

SQL Fiddle Demo