MariaDB EXPORT_SET() 函数使用指南
在 MariaDB 中,EXPORT_SET()
是一个内置的字符串函数,它返回一个字符串,该字符串由第一个参数的二进制位指示的字符串通过指定的分隔符拼接而成。
EXPORT_SET()
语法
这里是 MariaDB EXPORT_SET()
函数的语法:
EXPORT_SET(bits, on, off, separator, length)
参数
bits
- 必需的。一个数字。将
bits
转为二进制并反转(从右向左)后的各个位的值决定on
还是off
出现在该位置。 on
- 必需的。当位值为
1
时使用的字符串。 off
- 必需的。当位值为
0
时使用的字符串。 separator
- 可选的。分隔符或者分隔字符串,默认值为
,
。 length
- 可选的。集合的元素的个数,默认值为
64
。
您应该至少提供 3 个参数,否则 MariaDB 将报告错误:ERROR 1582 (42000): Incorrect parameter count in the call to native function ‘EXPORT_SET’。
返回值
MariaDB EXPORT_SET()
函数根据 bits
对应的二进制并反转后的值挑选对应的字符串,并返回一个逗号分隔的字符串集合。
如果任何参数为 NULL
, EXPORT_SET()
函数将返回 NULL
。
比如 EXPORT_SET(5, 'Aa', 'Bb', '#', 4)
:
-
bits = 5
,5
的二进制位101
(此结果可用BIN()
函数返回), 总长度为4
,左边补0
变为0101
。然后反转(从右向左)变为1010
。 -
按
1010
中的每位的值使用on
或者off
:- 第一位为
1
,则使用Aa
。 - 第二位为
0
,则使用Bb
。 - 第三位为
1
,则使用Aa
。 - 第四位为
0
,则使用Bb
。
- 第一位为
-
最后将所有的字符串使用分隔符
#
组合起来,即:Aa#Bb#Aa#Bb
。
MariaDB EXPORT_SET()
示例
基本示例
这个语句展示了 MariaDB EXPORT_SET()
的基本用法:
SELECT EXPORT_SET(5, 'Aa', 'Bb', '#', 4);
输出:
+-----------------------------------+
| EXPORT_SET(5, 'Aa', 'Bb', '#', 4) |
+-----------------------------------+
| Aa#Bb#Aa#Bb |
+-----------------------------------+
默认值
如果您不提供分隔符, MariaDB EXPORT_SET()
将使用逗号 ,
作为默认分隔符。
如果您不指定数量,MariaDB EXPORT_SET()
将使用 64 作为默认位数。
SELECT EXPORT_SET(5, 'A', 'B');
输出:
+---------------------------------------------------------------------------------------------------------------------------------+
| EXPORT_SET(5, 'A', 'B') |
+---------------------------------------------------------------------------------------------------------------------------------+
| A,B,A,B,B,B,B,B,B,B,B,B,B,B,B,B,B,B,B,B,B,B,B,B,B,B,B,B,B,B,B,B,B,B,B,B,B,B,B,B,B,B,B,B,B,B,B,B,B,B,B,B,B,B,B,B,B,B,B,B,B,B,B,B |
+---------------------------------------------------------------------------------------------------------------------------------+
结论
在 MariaDB 中,EXPORT_SET()
是一个内置的字符串函数,它返回一个字符串,该字符串由第一个参数的二进制位(从高位到地位)指示的字符串通过指定的分隔符拼接而成。