用户将以此格式输入日期:2017年2月17日
并且存储在mysql db中的日期采用以下格式:2015-02-17 00:00:00
我试图做的是
SELECT * FROM insurance where DATE_FORMAT(in_date,'%d-%b-%Y') > '17-Feb-2017';
DATE_FORMAT(in_date,'%d-%b-%Y')以此格式返回日期:2017年2月17日
但是没有用!!
有什么建议吗?
答案 0 :(得分:1)
将输入转换为日期类型和列值:
SELECT * FROM insurance where date(in_date) > STR_TO_DATE('17-Feb-2017','%d-%b-%Y')
有关STR_TO_DATE
和DATE
功能的更多说明,请参阅mysql documentation。
不要将两个值都转换为字符串,因为在转换后无法比较它