如何在 mariadb 中将整数转换为二进制

How to cast integer to binary in mariadb

我在使用 mariadb 中的转换函数时遇到问题。使用相同的查询但结果 sql 服务器和 mariadb 不同。

在 sql 服务器中:

Query: select CAST(1234 as binary(10))
Result: 0x000000000000000004D2

在 mariadb 中:

Query: select CAST(1234 as binary(10))
Result: 1234

我不明白。请帮我解释并提出解决方案。

binary是字符类型,但是有hex函数可以得到一个表达式的十六进制值

select hex(1234);
+-----------+
| hex(1234) |
+-----------+
| 4D2       |
+-----------+

如果您想要相同的格式,可以使用其他函数来完成:

select concat('0x', lpad(hex(1234),20,'0')) ;
+--------------------------------------+
| concat('0x', lpad(hex(1234),16,'0')) |
+--------------------------------------+
| 0x000000000000000004D2               |
+--------------------------------------+