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。