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


MySQL MAKE_SET方法用法及代码示例


MySQL 的 MAKE_SET(~) 方法返回一组以逗号分隔的子字符串,这些子字符串在提供的位值中具有相应的位。

参数

1. bits | bits

一组位,指定在返回的逗号分隔子字符串中返回哪些字符串。

2. str1 | string

如果字符串具有 bits 中指定的相应位,则该字符串将附加到返回字符串。可以提供任意数量的字符串。

例子

基本说明

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

SELECT MAKE_SET(4, 'a', 'b', 'c');



+-------------------------+
| MAKE_SET(4,'a','b','c') |
+-------------------------+
| c                       |
+-------------------------+

二进制表示 4100 。从右侧读取二进制文件:

  • 第一位控制是否将第一个字符串'a' 附加到返回值。由于第一位是 0 ,因此我们不会将 'a' 附加到返回字符串中。

  • 第二位控制第二个字符串'b'是否附加到返回值。同样,由于该位是 0 ,因此我们不会将 'b' 附加到返回字符串中。

  • 最后,第三位控制是否将第三个字符串'c'附加到返回值中。由于第三位是 1 ,因此我们将 'c' 附加到返回字符串中。事实上,我们看到我们的返回值只是 'c'

多位

在第一个示例中,我们仅提供了单个 bits 值,但我们可以使用管道来指定一组多个位:

SELECT MAKE_SET(2 | 4, 'a', 'b', 'c', 'd', 'e', 'f');



+-----------------------------------------+
| MAKE_SET(2 | 4,'a','b','c','d','e','f') |
+-----------------------------------------+
| b,c                                     |
+-----------------------------------------+

2 的二进制:10

4 的二进制:100

我们从提供的字符串参数集中返回第二个和第三个字符串,因为 2 的二进制的第二位是设置位 ( '1' ),而 4 的二进制的第三位是设置位。请注意,返回的字符串以逗号分隔。

相关用法


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