【问题标题】:How to convert from varbinary to char/varchar in mysql如何在 mysql 中从 varbinary 转换为 char/varchar
【发布时间】:2009-12-09 10:50:25
【问题描述】:

我有一个 varbinary 字段。它已经被填充了。现在我如何将 varbinary 转换为 varchar,以便我可以将字段中的数据用于其他目的。我使用 MySQL 5.10 版

【问题讨论】:

    标签: sql mysql


    【解决方案1】:

    迟到的答案...

    您可以这样使用 CAST 或 CONVERT

    CAST(foo AS CHAR(100))
    CONVERT(foo, CHAR(100))
    

    Supported types (5.5) are:

    BINARY[(N)]
    CHAR[(N)]
    DATE
    DATETIME
    DECIMAL[(M[,D])]
    SIGNED [INTEGER]
    TIME
    UNSIGNED [INTEGER]
    

    不能直接转换为 varchar。
    an open MySQL bug from 2008 似乎没人在意,而且很烦人

    【讨论】:

    • @gbn, convert 中的CHAR 使用的默认编码是什么?另外,现在甲骨文已经接管了 MySQL,人们是否将更多的注意力放在修复这个 bug 上?
    • @Pacerier:抱歉,我现在不活跃于 MySQL,
    【解决方案2】:

    在与此类似的情况下对我有用的 MySQL 语法是:

    select cast(binaryColumn as CHAR) from table_name
    

    【讨论】:

      【解决方案3】:

      你可以使用强制转换操作:

      select cast(column_name as char)
        from table_name
      

      【讨论】:

      • 您不能按照上述 cmets 大小写为 varchar。
      • 但是您可以按照上述其他评论使用char
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-01
      相关资源
      最近更新 更多