如何使用MySQL在两个日期之间进行查询?
以下查询:
SELECT * FROM `objects` WHERE (date_field BETWEEN '2010-09-29 10:15:55' AND '2010-01-30 14:15:55')
什么也不返回
我应该有足够的数据来查询工作。 我究竟做错了什么?
你的第二次约会是在你的第一次约会之前(即你在2010年9月29日至2010年1月30日之间查询)。 尝试颠倒日期的顺序:
SELECT * FROM `objects` WHERE (date_field BETWEEN '2010-01-30 14:15:55' AND '2010-09-29 10:15:55')
你的查询应该有日期为
select * from table between `lowerdate` and `upperdate`
尝试
SELECT * FROM `objects` WHERE (date_field BETWEEN '2010-01-30 14:15:55' AND '2010-09-29 10:15:55')
是datetime
类型的date_field
? 另外,您还需要首先安排收货日期。
它应该是:
SELECT * FROM `objects` WHERE (date_field BETWEEN '2010-01-30 14:15:55' AND '2010-09-29 10:15:55')
可能是在服务器端或客户端的日期配置问题。 我发现这是多个数据库的主机配置西班牙语,法语或其他…这可能会影响格式dd / mm / yyyy或mm / dd / yyyy多个数据库的常见问题。
尝试切换日期:
2010-09-29 > 2010-01-30?
DATE()是一个MySQL函数,仅提取日期或日期/时间表达式的日期部分
SELECT * FROM table_name WHERE DATE(date_field) BETWEEN '2016-12-01' AND '2016-12-10';