如何从日期之间的每一天中选择今天的日期?

时间:2019-10-31 11:15:06

标签: mysql database

我要显示的数据有问题。基本上我有这张桌子。

history_table:

| history_date_from | history_date_to |
+-----------------+---------------+
| 2019-10-12      | 2019-10-12    |
| 2019-10-25      | 2019-10-28    |
| 2019-11-18      | 2019-11-22    |
| 2019-11-19      | 2019-11-25    |
| 2019-11-20      | 2019-11-20    |

我现在遇到的问题是如果今天已经2019-11-19。我仍然想显示第三行,直到2019-11-22

这是我当前的查询:

SELECT history_date_from,history_date_to
FROM history_table
WHERE DATE(history_date_from)= CURDATE() BETWEEN DATE(history_date_from) AND DATE(history_date_to)

但是查询中的问题是它仅取决于CURDATE的{​​{1}},我要实现的目标是仍然获得明天的第三行,直到明天结束。日期取决于history_date_from

因此,如果今天history_date_to的输出应为:

2019-11-19

因为| history_date_from | history_date_to | | 2019-11-18 | 2019-11-22 | | 2019-11-19 | 2019-11-25 | 的日期仍未完成。

任何帮助将不胜感激,我认为我只是在使查询变得复杂。

1 个答案:

答案 0 :(得分:0)

您可以使用BETWEEN使用以下解决方案:

SELECT * 
FROM history_table
WHERE CURDATE() BETWEEN history_date_from AND history_date_to

demo on dbfiddle.uk

您无需检查history_date_from上的确切匹配项。您想知道当前日期是否在特定时间段内。因此,BETWEEN是一个不错的选择。