当前位置:  开发笔记 > 编程语言 > 正文

在MySQL中使用十六进制数字

如何解决《在MySQL中使用十六进制数字》经验,为你挑选了3个好方法。

我有一个存储过程,需要将十六进制数转换为十进制数.我已经阅读了UNHEX()函数的文档,但是它返回了一个二进制值.我想要做的是这样的事情:

CREATE PROCEDURE foo( hex_val VARCHAR(10) )
BEGIN
    DECLARE dec_val INTEGER;

    SET dec_val = UNHEX( hex_val );

    -- Do something with the decimal value
    select dec_val;
END

我错过了什么?如何将UNHEX()'d值转换为无符号整数?



1> Greg..:

您可以使用该CONV()功能在基数之间进行转换.

SET dec_val = CONV(hex_val, 16, 10);



2> Robert Gambl..:
conv(hex_val, 16, 10)

将一些基数16转换为基数10. UNHEX函数完全不同,它将十六进制数字对转换为字符.



3> 小智..:

cast(conv(hex_val,16,10)为无符号整数)应解决问题....

推荐阅读
爱唱歌的郭少文_
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有