SQL:从varchar转换为datetime并进行比较

时间:2011-01-27 12:53:12

标签: sql mysql datetime compare

尝试将varchar字段与用户输入进行比较时出错。问题是输入是日期,db中的字段是varchar。我相信我必须将db字段(和用户输入?)转换为datetime才能比较它,但我可能做错了:(

失败的sql(WHERE子句的一部分):

AND 
    CONVERT(datetime, bdo_report_item_field.content_text, 1) >= CONVERT(datetime, '01/10/2011', 1)

错误:#1064 - 您的SQL语法出错;查看与您的MySQL服务器版本对应的手册,以便在第25行“bdo_report_item_field.content_text,1)> = CONVERT(datetime,'/ 01/10/2011',1))'附近使用正确的语法

如果有人可以提供帮助,真的很高兴!

2 个答案:

答案 0 :(得分:2)

我认为CONVERT不是你需要的功能。我认为您需要查看 str_to_date

看看这个问题:mySQL convert varchar to date

答案 1 :(得分:2)

CONVERT()不接受三个参数:

...既不允许指定日期格式。它更适合使用STR_TO_DATE():

此外,GUI小部件的数据类型与MySQL级别无关,因为SQL查询始终是字符串。