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

标签 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

最佳答案

您不需要在 checkout_date 上使用 DATE_FORMAT,但可以/应该显式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)

关于mysql - 需要帮助根据时间范围查询表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32186529/

相关文章:

php - Laravel 4.2 Eloquent 关系

MySQL 查询以在数据库中搜索与给定产品名称相似的产品

sql - FreeText 查询很慢 - 包括 TOP 和 Order By

sql - SCOPE_IDENTITY 而不是插入触发器的解决方法

php - 选择一列中存在但所有其他列中不存在的值

php - 最后一行在 MYSQL 中返回不正确的值

python - 如何设置SQLAlchemy方言?

mysql - 如何获取包含字母数字字符+空格的记录

sql - 如何使用 "max(count(*))"创建一个好的请求?

sql - 在单个查询中将行插入多个表,从涉及的表中选择