选择两种日期时间格式之间的所有记录

时间:2012-12-03 15:22:59

标签: mysql sql date date-format

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

我尝试了这个,但它没有用。

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

3 个答案:

答案 0 :(得分:11)

请改为尝试:

select * from cdr
WHERE DATE(calldate) BETWEEN '20121201' AND '20121203';

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

答案 2 :(得分:-1)

以上将会很有效。如果你想添加额外的条件,普通的布尔逻辑也适用于日期/时间,所以你可以做类似

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

只是一个简单的例子。