【问题标题】:SQL: convert from varchar to datetime and compareSQL:从 varchar 转换为 datetime 并进行比较
【发布时间】:2011-01-27 12:53:12
【问题描述】:

尝试将 varchar 字段与用户输入进行比较时出现错误。问题是输入是日期,而数据库中的字段是 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))' 附近使用正确的语法

如果有人可以提供帮助,真的很感激!

【问题讨论】:

    标签: sql mysql datetime compare


    【解决方案1】:

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

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

    【讨论】:

    • 据我所知,我同意 convert() 是 SQL Server(仅限)函数
    【解决方案2】:

    CONVERT() 不接受三个参数:

    ... 两者都不允许指定日期格式。用STR_TO_DATE()比较合适:

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

    【讨论】:

      猜你喜欢
      • 2013-06-09
      • 2013-07-21
      • 1970-01-01
      • 1970-01-01
      • 2011-08-25
      • 1970-01-01
      • 1970-01-01
      • 2021-03-26
      • 1970-01-01
      相关资源
      最近更新 更多