6

我有这个查询,我需要选择两个日期之间的所有记录,mysql 表是日期时间格式。

我试过这个,但没有用。

select * from cdr
 WHERE calldate BETWEEN '2012-12-01' AND '2012-12-03';
4

3 回答 3

11

试试这个:

select * from cdr
WHERE DATE(calldate) BETWEEN '20121201' AND '20121203';
于 2012-12-03T15:23:56.233 回答
2

试试这个查询 -

SELECT * FROM cdr WHERE calldate BETWEEN str_to_date('2012-12-01','%Y-%m-%d') AND str_to_date('2012-12-03','%Y-%m-%d');
于 2014-01-22T06:52:39.757 回答
-1

以上会很好用。如果您想添加额外的条件,正常的布尔逻辑也适用于日期/时间,因此您可以执行类似的操作

...
where DATE(calldate) < '20121201' AND DATE(calldate) >= '20121203' OR DATE(calldate) = '20121205'

只是一个简单的例子。

于 2012-12-03T17:24:18.653 回答