SQL Query未执行 - 返回空集

San*_*_cs 3 mysql sql

我有一个数据库表,其日期字段的数据类型也是日期,我想获取两个日期之间的那些recods.

我的查询是:

SELECT * FROM wp_races_entry  WHERE date_in >=2012-02-08 && date_in<=2012-02-27
Run Code Online (Sandbox Code Playgroud)

我也试过了

SELECT * FROM wp_races_entry WHERE date_in  BETWEEN 2012-02-08 AND 2012-02-27
Run Code Online (Sandbox Code Playgroud)

我在表中有日期记录2012-02-14但仍然返回空值.

请帮助我指导我完全错过的内容.

Mar*_*ers 5

您的日期需要报价:

SELECT * FROM wp_races_entry WHERE date_in BETWEEN '2012-02-08' AND '2012-02-27'
Run Code Online (Sandbox Code Playgroud)

如果没有引号,您的日期将被视为算术表达式:2012-02-08 = 2002.

您发布的查询等效于:

SELECT * FROM wp_races_entry WHERE date_in BETWEEN 2002 AND 1983
Run Code Online (Sandbox Code Playgroud)


Mat*_*lie 5

2012-02-08不是日期,它是一个产生结果的整数计算2002.然后将其隐含地转化为具有2002意义的日期2002 days from the base date

相反,使用'2012-02-08'哪个是字符串,也可以隐式地转换为日期,但是你想要的那个.

SELECT * FROM wp_races_entry WHERE date_in BETWEEN '2012-02-08' AND '2012-02-27'
Run Code Online (Sandbox Code Playgroud)