2012-12-16 80 views
1

**我的英语不好,很抱歉。为什么这个查询在Mysql中不起作用?

我想通过下面的查询获取两个日期中的记录,但它返回一个空的结果。

SELECT * FROM orders WHERE 
DATE(dateadd) = '2012-06-03' and DATE(dateadd) = '2012-06-04' 

更新:

DATEADD是我datetime列,默认为:0000-00-00 00:00:00

我用DATE获取日期只(不包括时间)。我想在特定日期获取记录,而不是在两者之间。

任何人都可以帮助我吗?

+2

因为是错的..? –

+0

究竟如何'dateadd'在同一时间有两个不同的值? –

回答

7

您应该使用OR而不是AND,日期怎么可能是2012-06-032012-06-04在同一时间?

SELECT * FROM orders WHERE 
DATE(dateadd) = '2012-06-03' OR DATE(dateadd) = '2012-06-04' 
+1

@downvoter请解释原因? – xdazz

+0

一个低估了你。因为'DATE()'可能是不必要的。 –

+2

@GabrielSantos如果该列是由OP代码隐含的DATETIME,则这是必要的。 –

相关问题