在 MySQL 中使用十六进制数字?

2023年 9月 13日 31.9k 0

在 MySQL 中使用十六进制数字?

为了使用十六进制,请使用 CONV() 函数在基数之间进行转换。语法如下 -

SET anyVariableName = CONV(yourHexValue,16,10);

登录后复制

为了理解上述语法,让我们创建一个存储过程。创建存储过程的查询如下 -

mysql> DELIMITER //
mysql> CREATE PROCEDURE SP_HEX_TO_DEC( HEXVALUE VARCHAR(10) )
-> BEGIN
-> DECLARE Decimalvalue INTEGER;
-> SET Decimalvalue = CONV(HEXVALUE,16,10);
-> select Decimalvalue;
-> END;
-> //
Query OK, 0 rows affected (0.19 sec)
mysql> DELIMITER ;

登录后复制

上面的存储过程将十六进制转换为十进制。我们知道 A 代表十进制的 10,因此我们将 A 作为参数传递。使用CALL命令调用存储过程。

语法如下 -

CALL yourStoredProcedureName;

登录后复制

使用 CALL 命令调用上述存储过程。查询如下 -

mysql> call SP_HEX_TO_DEC('A');

登录后复制

以下是显示使用上面创建的存储过程计算的十进制值的输出 -

+--------------+
| Decimalvalue |
+--------------+
| 10 |
+--------------+
1 row in set (0.00 sec)
Query OK, 0 rows affected (0.01 sec)

登录后复制

直接用select语句检查。

mysql> select conv('AB',16,10) as DecimalResult;

登录后复制

以下是输出 -

+---------------+
| DecimalResult |
+---------------+
| 171 |
+---------------+
1 row in set (0.00 sec)

登录后复制

现在让我们看看将十六进制转换为十进制的过程。记住这条规则 -

A and B represented as 10 and 11 respectively in hexadecimal.
To convert it into decimal rule is as follows:
N ………+value3 *162 +value2 *161 + value1 * 160
= 10 * 161 + 11 * 160
= 160+11
= 171.

登录后复制

以上就是在 MySQL 中使用十六进制数字?的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论