SQL Query未执行 - 返回空集

时间:2012-03-15 12:32:50

标签: mysql sql

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

我的查询是:

SELECT * FROM wp_races_entry  WHERE date_in >=2012-02-08 && date_in<=2012-02-27

我也试过

SELECT * FROM wp_races_entry WHERE date_in  BETWEEN 2012-02-08 AND 2012-02-27

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

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

3 个答案:

答案 0 :(得分:5)

您的日期需要报价:

SELECT * FROM wp_races_entry WHERE date_in BETWEEN '2012-02-08' AND '2012-02-27'

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

您发布的查询等同于:

SELECT * FROM wp_races_entry WHERE date_in BETWEEN 2002 AND 1983

答案 1 :(得分: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'

答案 2 :(得分:1)

尝试:

SELECT * FROM wp_races_entry WHERE date_in>= '2012-02-08 00:00:00' and date_in<= '2012-02-27 00:00:00'