首页 > 解决方案 > 如何从 MYSQL 数据库中仅从两个 DATETIME 中进行选择?

问题描述

我在 MYSQL 数据库中有一个表,它有 2 列。

1- start_date
2- end_date

上面的列都像这样保存 DATETIME:

start_date                  end_date

2019-10-03 13:30:00     2020-10-03 23:30:00 

current date仅当介于start_date和之间时,我才需要从 MYSQL 表中进行选择end_date

所以我尝试了这个 MYSQL 查询:

SELECT * FROM table WHERE `end_date` >= CURDATE() AND `start_date` <= CURDATE()

但这不起作用,即使当前日期在 start_date 和 end_date 之间,也不会从数据库返回任何内容。

有人可以请教这个吗?

标签: phpmysql

解决方案


问:只有当前日期在 start_date 和 end_date 之间时,我才需要从 MYSQL 表中进行选择。

试试这个。

SELECT * FROM `table` WHERE CURDATE() between start_date and end_date

将其转换为之前的日期,因为您使用的是他们的时间戳。

SELECT * FROM `table` WHERE CURDATE() between date(start_date) and date(end_date)

或者

SELECT * FROM `table` WHERE NOW() between start_date and end_date

推荐阅读