SELECT * FROM `tablename` ct WHERE ct.column_date BETWEEN STR_TO_DATE('2012-07-20','%Y-%m-%d %H:%i:%s') AND STR_TO_DATE('2012-12-31','%Y-%m-%d %H:%i:%s');
上面这个可能不太对,应该是这样: SELECT * FROM `count_everyday` ct WHERE ct.createDate>=STR_TO_DATE('2012-07-20','%Y-%m-%d %H:%i:%s') AND ct.createDate<STR_TO_DATE('2012-12-30','%Y-%m-%d %H:%i:%s') + INTERVAL 1 DAY;
至于查某月的数据,应该直接like就可以
1 想查出2011-11-10 和 2011-12-11之间的数据 穿进去的是字符 SELECT * FROM TT WHeRE DATE_FORMAT(createime,'%Y-%m-%d') between '2011-11-10' and '2011-12-11'orSELECT * FROM TT WHeRE DATE(createime) between '2011-11-10' and '2011-12-11'2 想查出某一个月的数据,穿进去的也是字符 SELECT * FROM TT WHeRE ,month(createime)=0+你需要的月
2 想查出某一个月的数据,穿进去的也是字符 SELECT * FROM TT WHeRE month(createime)=0+你需要的月
SELECT * FROM TT WHeRE DATE_FORMAT(createime,'%Y-%m')='2011-11'
SELECT * FROM tablename where column_date LIKE '%2011-11%'这样不行么
大神,between and 是否是全闭区间,这么用能行么?
根据需求自行修改一下 SELECT * FROM TT WHeRE DATE_FORMAT(createime,'%Y-%m-%d')>'2011-11-10' and DATE_FORMAT(createime,'%Y-%m-%d')<'2011-12-11'
1 想查出2011-11-10 和 2011-12-11之间的数据 穿进去的是字符select * from 表 where createime between '2011-11-10' and concat('2011-12-11',' 23:59:59');
FROM `tablename` ct
WHERE ct.column_date
BETWEEN STR_TO_DATE('2012-07-20','%Y-%m-%d %H:%i:%s')
AND STR_TO_DATE('2012-12-31','%Y-%m-%d %H:%i:%s');
SELECT *
FROM `count_everyday` ct
WHERE ct.createDate>=STR_TO_DATE('2012-07-20','%Y-%m-%d %H:%i:%s')
AND ct.createDate<STR_TO_DATE('2012-12-30','%Y-%m-%d %H:%i:%s') + INTERVAL 1 DAY;
SELECT * FROM TT WHeRE DATE_FORMAT(createime,'%Y-%m-%d') between
'2011-11-10' and '2011-12-11'orSELECT * FROM TT WHeRE DATE(createime) between
'2011-11-10' and '2011-12-11'2 想查出某一个月的数据,穿进去的也是字符
SELECT * FROM TT WHeRE ,month(createime)=0+你需要的月
SELECT * FROM TT WHeRE month(createime)=0+你需要的月
SELECT * FROM TT WHeRE DATE_FORMAT(createime,'%Y-%m-%d')>'2011-11-10' and
DATE_FORMAT(createime,'%Y-%m-%d')<'2011-12-11'