我正在尝试根据开始日期和结束日期从数据库中进行选择。我无法更改字段类型,因此我必须使用字符串值进行更新。
即使匹配结果匹配,查询也不会返回结果:
FieldName:date(string)
FieldValue:03.03.2015(字符串)
SELECT * FROM `submission_values` WHERE `FieldName` = 'date' AND `FieldValue` BETWEEN '01.01.2015' AND '01.01.2016'
怎么办?
答案 0 :(得分:2)
您必须使用SELECT STR_TO_DATE();
将字符串转换为日期。
SELECT * FROM `submission_values` WHERE `FieldName` = 'date' AND str_to_date(`FieldValue`, '%d.%m.%Y') BETWEEN str_to_date('01.01.2015', '%d.%m.%Y') AND str_to_date('01.01.2016','%d.%m.%Y')