我对在select之间的mysql日期有疑问。在mysql表中,该字段为varchar。日期范围是'21-01-2013‘和'31-01-2013',可以显示记录,但是日期范围是'21-01-2013’和'20-02-2013',不能显示记录。
"SELECT * from away_from_office where (awaydatefrom between '21-01-2013' and '31-01-2013') ";发布于 2013-01-03 18:05:50
你应该先用STR_TO_DATE把它转换成日期,例如。
SELECT *
from away_from_office
where awaydatefrom between STR_TO_DATE('21-01-2013', '%d-%m-%Y') and
STR_TO_DATE('31-01-2013', '%d-%m-%Y') 如果该列与您显示的列具有相同的格式,请也对其进行转换
WHERE STR_TO_DATE(awaydatefrom, '%d-%m-%Y') BETWEEN如果您有机会修改表,或者您正在处理示例记录,那么可以通过将列的数据类型更改为DATE来更改表。
发布于 2013-01-03 18:06:34
将列数据类型更改为DATE
https://stackoverflow.com/questions/14136610
复制相似问题