MySQL EXPORT_SET() 函数使用指南
MySQL EXPORT_SET() 函数根据参数的二进制位生成一个使用指定分隔符拼接的字符串。
EXPORT_SET() 语法
这里是 MySQL EXPORT_SET() 函数的语法:
EXPORT_SET(bits, on, off, separator, length)
参数
bits- 必需的。一个数字。将
bits转为二进制并反转后的各个位的值决定on还是off出现在该位置。 on- 必需的。当位值为
1时使用的字符串。 off- 必需的。当位值为
0时使用的字符串。 separator- 可选的。分隔符或者分隔字符串,默认值为
,。 length- 可选的。集合的元素的个数,默认值为
64。
返回值
EXPORT_SET() 函数根据 bits 对应的二进制并反转后的值挑选对应的字符串,并返回一个逗号分隔的字符串集合。
比如 EXPORT_SET(5, 'Aa', 'Bb', '#', 4):
-
bits = 5,5的二进制位101, 总长度为4,左边补0变为0101。然后反转变为1010。 -
按
1010中的每位的值使用on或者off:- 第一位为
1,则使用Aa。 - 第二位为
0,则使用Bb。 - 第三位为
1,则使用Aa。 - 第四位为
0,则使用Bb。
- 第一位为
-
最后将所有的字符串使用分隔符
#组合起来,即:Aa#Bb#Aa#Bb。
EXPORT_SET() 示例
SELECT
EXPORT_SET(5, 'Aa', 'Bb', '#', 4),
EXPORT_SET(5, 'Y', 'N', ',', 4),
EXPORT_SET(5, '1', '0', ',', 10),
EXPORT_SET(0, 'Y', 'N', ',', 4)\G
*************************** 1. row ***************************
EXPORT_SET(5, 'Aa', 'Bb', '#', 4): Aa#Bb#Aa#Bb
EXPORT_SET(5, 'Y', 'N', ',', 4): Y,N,Y,N
EXPORT_SET(5, '1', '0', ',', 10): 1,0,1,0,0,0,0,0,0,0
EXPORT_SET(0, 'Y', 'N', ',', 4): N,N,N,N