【问题标题】:how to compare two varchar values with leading zeros in mysql如何在mysql中将两个varchar值与前导零进行比较
【发布时间】:2012-11-28 15:48:05
【问题描述】:

我必须比较 mysql 中具有 varchar 数据类型的 2 列。但是有一些数据以'0'开头,这在比较时会产生问题。

例如:我必须比较实际上相等的 '02653' 和 '2653',但这里我的查询失败并给出不同的结果。

请提出任何想法,什么应该是正确的查询。

我试过这样跑 选择不同的table1.store_id 来自table2 在哪里 CONVERT('first_column' AS INTEGER) = CONVERT('second_column' AS INTEGER)

显示此错误
** 在 AS INTEGER 附近使用正确的语法 **

【问题讨论】:

  • 有关进一步的上下文,请提供一个查询失败的示例。

标签: mysql sql varchar


【解决方案1】:

将 varchar 转换为整数,然后比较

【讨论】:

    【解决方案2】:
    ...
    WHERE CONVERT(column1 AS INTEGER) = CONVERT(column2 AS INTEGER)
    

    【讨论】:

    • 在运行此查询时 SELECT DISTINCT table1.store_id FROM table2 WHERE CONVERT('first_column' AS INTEGER) = CONVERT('second_column' AS INTEGER) "获取正确的语法靠近'AS INTEGER'"
    • 尝试不使用 '' :CONVERT(first_column AS INTEGER) = CONVERT(second_column AS INTEGER)。我更正了答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多