在MYSQL中选择未来日期的最早日期

时间:2018-07-27 09:20:39

标签: mysql

我具有以下MSQL列结构。如何选择将来日期的最早日期,而忽略过去的日期。

开始日期

2018-07-01 -> past
2018-07-07 -> past
2018-07-14 -> future (SELECT THIS ONE ONLY, the earliest of the future ones)
2018-07-18 -> future
2018-07-22 -> future

请帮助。我为此感到挣扎。

1 个答案:

答案 0 :(得分:0)

尝试一下:

SELECT MIN(DATE(start_date)) 
FROM table 
WHERE DATE(start_date) > DATE(NOW())
  1. NOW()函数为您提供当前日期。因此,我们仅搜索那些比当前日期更多的日期。
  2. 在搜索到的日期中,我们使用MIN()函数获得最短(最早)日期。
  3. DATE()函数从日期/日期时间表达式(例如:NOW()的结果)中提取日期部分为 yyyy-mm-dd 格式(例如:{{ 1}})。