EXPORT_SET()函数在MySQL中如何工作?

它也是用于搜索的MySQL字符串函数。借助以下EXPORT_SET()函数的语法,我们可以了解其工作原理-

语法

EXPORT_SET(bits, on, off, separator, number of bits)

用这种语法

如果是1或0,则要比较位(将整数转换为位后得到的值)。

'On'是函数的第二个参数,在引号中具有任何值,并且如果第一个参数中的bit的值为1,则将返回该值。

“ Off”是函数的第三个参数,在引号中具有任何值,并且如果第一个参数中的位的值为0,则将返回该值。

分隔符用于在显示输出时放置在返回值之间。它可以是用引号引起来的任何字符或值。

多个位具有1或0时要比较的位的值。

EXPORT_SET()函数的工作

它的工作原理如下-

  • 首先,作为第一个参数给出的整数值将转换为许多位数(即0和1s)。然后检查每个位是1还是0。检查的顺序是从右到左。

  • 现在,MySQL在检查后确定该位是1还是0时要做什么。如果该位是1,它将返回第二个参数,即“ on”。如果该位为0,则返回第三个参数,即“ off”。

  • 检查将持续到第五个参数中指定的位数。

  • 现在,基于以上MySQL,MySQL将返回输出并将分隔符置于返回值之间。这些值将从左到右返回。

示例

mysql> Select EXPORT_SET(8, '1','0',',', 8);

+-------------------------------+
| EXPORT_SET(8, '1','0',',', 8) |
+-------------------------------+
| 0,0,0,1,0,0,0,0               |
+-------------------------------+

1 row in set (0.00 sec)

mysql> Select EXPORT_SET(8, '1','0',',', 4);

+-------------------------------+
| EXPORT_SET(8, '1','0',',', 4) |
+-------------------------------+
| 0,0,0,1                       |
+-------------------------------+

1 row in set (0.00 sec)

在两个示例中,我们都将第一个参数8转换为位,即1000,然后将对1和0(最多8位(在第一个示例中)和最多4位(在第二个示例中)进行检查),因为分别在第一个示例和第二个示例中将8和4指定为第五个参数。在显示输出时,我们可以观察到逗号(,)用作分隔符,因为在两个示例中都将其指定为第四个参数。

我们知道检查的顺序是从右到左,即在我们的示例1000中,最右边的位是0,因此将返回第三个参数,即0,然后在接下来的两个位置再次有0,因此将返回另外两个0。 ,则为1,因此第二个参数(即1)已返回。在第二个示例中,由于最多检查了4位数字,所以我们最多接收到4位数字,但是在第一个示例中,最多检查了8位数字,因此在输出中收到了8位数字。输出的顺序是从左到右,因此在第一个示例中输出显示为0,0,0,1,0,0,0,0,在第二个示例中显示为0,0,0,1。

猜你喜欢