MySQL在两种日期格式之间转换

时间:2017-04-27 13:00:20

标签: mysql datetime type-conversion datetime-format

用户将以此格式输入日期: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日

但是没有用!!

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

将输入转换为日期类型和列值:

SELECT * FROM insurance where date(in_date) > STR_TO_DATE('17-Feb-2017','%d-%b-%Y')

有关STR_TO_DATEDATE功能的更多说明,请参阅mysql documentation。 不要将两个值都转换为字符串,因为在转换后无法比较它