MariaDB BIN() 函数使用指南
在 MariaDB 中,BIN()
是一个内置的字符串函数,它返回给定数字的二进制值的字符串表示。
MariaDB BIN()
语法
这里是 MariaDB BIN()
函数的语法:
BIN(num)
MariaDB BIN()
函数 与 CONV(num, 10, 2)
的结果相同。
参数
num
- 必需的。需要以二进制表示的数字。您可以提供一个很大的数字,比如
BIGINT
。 -
如果缺少参数,MariaDB 将报告错误: ERROR 1582 (42000): Incorrect parameter count in the call to native function ‘BIN’。
返回值
MariaDB BIN()
函数返回一个字符串,其表示给定数字的二进制值。
- 如果参数
num
为非数字类型,BIN()
函数会首先尝试将其转为数字后再返回数字的二进制表示。 - 如果参数
num
为NULL
,BIN()
函数将返回NULL
。
MariaDB BIN()
示例
简单示例
这个语句使用 MariaDB BIN()
函数返回数字 8 的二进制值的字符串表示:
SELECT BIN(8);
结果:
+--------+
| BIN(8) |
+--------+
| 1000 |
+--------+
这和 CONV(8, 10, 2)
一样,如下:
SELECT CONV(8, 10 ,2);
结果:
+----------------+
| CONV(123,10,2) |
+----------------+
| 1111011 |
+----------------+
字符串参数
你可以为 MariaDB BIN()
函数提供字符串类型的参数, MariaDB 会首先尝试将其转为数字再返回其对应的二进制的字符串表示。
这个语句使用 MariaDB BIN()
函数返回数字 '8'
的二进制值的字符串表示:
SELECT
BIN('8'),
BIN('8A'),
BIN('A8');
结果:
+----------+-----------+-----------+
| BIN('8') | BIN('8A') | BIN('A8') |
+----------+-----------+-----------+
| 1000 | 1000 | 0 |
+----------+-----------+-----------+
在本例中, MariaDB 首先尝试将字符串参数转为数字,再进行下一步计算:
- 将
'8'
转为8
,然后输出8
的二进制值的字符串表示 - 将
'8A'
转为8
,然后输出8
的二进制值的字符串表示 'A8'
不能转为数字,因此返回0
浮点类型的参数
如果您为 MariaDB BIN()
函数提供一个浮点类型的参数, MariaDB 会将浮点类型截断为整数,再返回整数的二进制值。
SELECT BIN(8.12);
结果:
+-----------+
| BIN(8.12) |
+-----------+
| 1000 |
+-----------+
在本示例中, MariaDB BIN()
函数会将 8.12
截断为 8
,然后返回 8
的二进制值的字符串表示。
综合示例
下面是一个体现 MariaDB BIN()
所有用法的示例:
SELECT
BIN(2),
BIN(5),
BIN(8),
BIN(8.5),
BIN('8A'),
BIN('A8'),
BIN('A'),
BIN(NULL)\G
输出:
*************************** 1. row ***************************
BIN(2): 10
BIN(5): 101
BIN(8): 1000
BIN(8.5): 1000
BIN('8A'): 1000
BIN('A8'): 0
BIN('A'): 0
BIN(NULL): NULL
结论
MariaDB BIN()
函数返回给定数字的二进制值的字符串表示。