【问题标题】:Convert HEX column to DEC in MySQL在 MySQL 中将 HEX 列转换为 DEC
【发布时间】:2013-02-11 17:04:44
【问题描述】:

我正在编写一个应用程序,它将对 CSV 文件进行一些格式化并将表格上传到 mysql,之后程序应该将(十六进制)列转换为十进制一

表格如下所示:

col1 | col2 |十六进制 |装饰

所以我需要使用 hexcol 并从 hex2dec 转换并放入 deccol

我尝试了简单的 SELECT UNHEX('hexcol'); 但它不起作用,它说这个列不在字段列表中......

任何帮助将不胜感激......

【问题讨论】:

  • 从表中选择 UNHEX(hexcol);没有引号,因为它将值视为字符串,而不是列名
  • 我不知道为什么,但是当我添加 FROM 表时...它可以工作...我现在如何使用 UNHEX(hexcol) 更新 deccol ...我尝试更新表设置 deccol = UNHEX(hexcol ) 但它不会影响任何行...???
  • 你的 deccol 列是什么数据类型?
  • 0 行受影响。 (查询耗时 0.0131 秒)即使有超过一千行...
  • 我的意思是 deccol 列数据类型是 varchar(40)

标签: php mysql hex decimal typeconverter


【解决方案1】:

【讨论】:

    【解决方案2】:

    试试这个:

    SELECT CONV(hexcol, 16, 10);
    

    【讨论】:

    • 当我尝试 SELECT CONV(hexcol, 16, 10);我得到了 #1054 - '字段列表'中的未知列 'hexcol'
    • 只有这个 (SELECT CONV( 'hexcol', 16, 10 )) 有效,但它需要 hexcol 作为字符串
    • 这个有效...我不知道为什么Mysql在使用列时需要一些空格...!!!
    猜你喜欢
    • 2020-09-12
    • 2020-02-10
    • 1970-01-01
    • 1970-01-01
    • 2021-01-31
    • 1970-01-01
    • 2011-07-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多