MySQL MAKE_SET 函数返回一个由逗号分隔的子字符串组成的集合值。此 MAKE_SET 函数使用位来形成或创建集合值。
下面我将通过示例向您展示如何编写一个 MAKE_SET 字符串函数查询,使用二进制位或位值来创建或生成集合值。MAKE_SET 字符串的基本语法如下所示。
MAKE_SET(bits, Str1, Str2,...StrnN)
MySQL MAKE_SET 函数示例
该字符串 MAKE_SET 函数使用子字符串的位值创建集合。以下查询显示了使用此方法的多种方式。例如,位 = 1 = 0001。所以,1=a, 0=b, 0=c, 0=d。这意味着输出是 a。在第三条语句中,位 = 2 = 0010(0=a, 1=b, 0=c, 0=d)。所以,它返回 b。
SELECT MAKE_SET(0, 'a', 'b', 'c', 'd');
SELECT MAKE_SET(1, 'a', 'b', 'c', 'd');
SELECT MAKE_SET(2, 'a', 'b', 'c', 'd');

在此 MySQL Make_Set 示例中,我们使用了多个位值。首先,1|3,位 1 = 00001 表示,1= hi, 0 = hello, 0 = mysl, 0 = world, 0 = Welcome。接下来,3 = 00011。因此,字符串函数的输出将是 hi, hello。
在第三条MySQL语句中,我们使用了 2|4。位 2 = 00010 => hello。位 4 = 00100 => 0= hi, 0 = hello, 1 = msql, 0 = world, 0 = Welcome。
SELECT MAKE_SET(1 | 3, 'hi', 'hello', 'mysql', 'world', 'welcome');
SELECT MAKE_SET(1 | 4, 'hi', 'hello', 'mysql', 'world', 'welcome');
SELECT MAKE_SET(2 | 4, 'hi', 'hello', 'mysql', 'world', 'welcome');
