我的查询如下:
select id,
date
from table
where date < '1/31/2015' && date > '11/31/2011'
答案 0 :(得分:3)
如果您将日期作为字符串提供,则某些格式将隐式/自动转换为要比较的列的正确数据类型。 IE:
SELECT t.id,
t.date
FROM TABLE t
WHERE t.date < '2015-01-31'
AND t.date > '2011-11-31'
将字符串中的日期/时间转换为DATETIME最安全的方法是使用MySQL's STR_TO_DATE function:
WHERE t.date < STR_TO_DATE('1/31/2015', '%m/%d/%Y')
AND t.date > STR_TO_DATE('11/31/2011', '%m/%d/%Y')
答案 1 :(得分:2)
MySQL DATE
和DATETIME
字段的格式为YYYY-MM-DD HH:MM:SS
。如果您没有使用处理日期的内置数据类型,那么您将遇到更多麻烦。
答案 2 :(得分:2)
首先,&amp;&amp;不是SQL中的“和”运算符;使用AND。
其次,MySQL日期始终是ISO-8601。我建议你阅读标准或查看一些例子。
第三,您可以使用SQL函数BETWEEN来查找范围中的值。
我建议阅读
a)MySQL文档
b)一些例子
和
c)为初学者学习SQL培训课程。