我有这个查询,我需要选择两个日期之间的所有记录,mysql表是日期时间格式。
我尝试了这个,但它没有用。
select * from cdr
WHERE calldate BETWEEN '2012-12-01' AND '2012-12-03';
答案 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'
只是一个简单的例子。