当前位置: 首页>>编程示例 >>用法及示例精选 >>正文


MySQL EXPORT_SET方法用法及代码示例

MySQL 的 EXPORT_SET(~) 方法返回一个字符串,对于每个设置位(位值 1),我们附加 on 字符串,对于每个未设置位(位值 0),我们附加 off 字符串。

参数

1. bits | number

其二进制值确定将 onoff 字符串附加到返回字符串的顺序。

2. on | string

要为位值 1 附加的字符串。

3. off | string

要为位值 0 附加的字符串。

4. separator | string | optional

返回字符串中子字符串的分隔符。默认为逗号。

5. number_of_bits | integer | optional

检查的位数。默认为 64。

例子

基本用法

要返回基于 bits 参数 4 的字符串:

SELECT EXPORT_SET(4, 'Y', 'N', ',', 3);



+---------------------------------+
| EXPORT_SET(4, 'Y', 'N', ',', 3) |
+---------------------------------+
| N,N,Y                           |
+---------------------------------+

用二进制表示 4100 ,因此我们现在知道 onoff 字符串应附加到返回字符串的顺序。从右侧读取二进制文件:

少量 #

位值

附加到返回字符串

第一点

0

off 字符串 'N'

第二位

0

off 字符串 'N'

第三位

1

on 字符串 'Y'

因此,我们看到最终返回的字符串'N,N,Y',其中子字符串以逗号分隔。

分隔符参数

使用管道符号 | 作为返回字符串中子字符串的分隔符:

SELECT EXPORT_SET(4, 'Y', 'N', '|', 3);



+---------------------------------+
| EXPORT_SET(4, 'Y', 'N', '|', 3) |
+---------------------------------+
| N|N|Y                           |
+---------------------------------+

位数参数

默认检查的位数是 64:

SELECT EXPORT_SET(4, 'Y', 'N', ',');



+---------------------------------------------------------------------------------------------------------------------------------+
| EXPORT_SET(4,'Y','N',',')                                                                                                       |
+---------------------------------------------------------------------------------------------------------------------------------+
| N,N,Y,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N |
+---------------------------------------------------------------------------------------------------------------------------------+

之前我们说过 4 的二进制文件是 100 。然而,当以 64 位表示时,100 会用零填充,直到 64 位,而不是当前的 3 位。因此,使用 64 位的 4 的二进制如下所示:

0000000000000000000000000000000000000000000000000000000000000100

这就是为什么当我们不指定检查的位数时,我们会看到许多 'N' 附加到结果字符串中。

相关用法


注:本文由纯净天空筛选整理自Arthur Yanagisawa大神的英文原创作品 MySQL | EXPORT_SET method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。