我有一个数据库表,其日期字段的数据类型也是日期,我想获取两个日期之间的那些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但仍然返回空值.
请帮助我指导我完全错过的内容.
您的日期需要报价:
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)
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)