需要帮助根据时间范围查询表

时间:2015-08-24 15:50:23

标签: mysql sql

我正在尝试根据基于日期的时间范围查询表格,但它似乎不起作用。它返回0行。下面是我正在使用的SQL查询。

我不确定我在这里做错了什么..

任何帮助都会非常感激!谢谢!

SELECT * FROM checkout_page 
WHERE DATE_FORMAT(checkout_date, '%Y-%m-%d %H:%I:%S')
BETWEEN '2015-8-23 11:00:00 ' AND '2015-8-23 15:00:00' 

以下是我的表格中的示例日期

2015-08-23 20:00:21

2 个答案:

答案 0 :(得分:0)

SELECT * FROM checkout_page 
WHERE hour(checkout_date) BETWEEN 11 and 14

选择时间值介于'11:00:00'和'14:59:59'之间的所有记录

答案 1 :(得分:0)

您无需在DATE_FORMAT上使用checkout_date,但可以/应该明确CAST WHERE子句中的两个值。

SELECT * FROM checkout_page 
WHERE checkout_date BETWEEN '2015-8-23 11:00:00' 
AND '2015-8-23 15:00:00' 

使用CAST

SELECT * FROM checkout_page 
WHERE checkout_date BETWEEN CAST('2015-8-23 11:00:00' AS datetime) 
AND CAST('2015-8-23 15:00:00' AS datetime)