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 |
+-------------------------+
二进制表示 4
是 100
。从右侧读取二进制文件:
-
第一位控制是否将第一个字符串
'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 的二进制的第三位是设置位。请注意,返回的字符串以逗号分隔。
相关用法
- MySQL MAKE_SET()用法及代码示例
- MySQL MAKETIME方法用法及代码示例
- MySQL MAKEDATE()用法及代码示例
- MySQL MAKETIME()用法及代码示例
- MySQL MAKEDATE方法用法及代码示例
- MySQL MAX方法用法及代码示例
- MySQL MAX()用法及代码示例
- MySQL MONTHNAME()用法及代码示例
- MySQL MONTH方法用法及代码示例
- MySQL MONTHNAME方法用法及代码示例
- MySQL MINUTE方法用法及代码示例
- MySQL MOD方法用法及代码示例
- MySQL MONTH()用法及代码示例
- MySQL MICROSECOND方法用法及代码示例
- MySQL MID方法用法及代码示例
- MySQL MIN方法用法及代码示例
- MySQL MIN()用法及代码示例
- MySQL MINUTE()用法及代码示例
- MySQL MID()用法及代码示例
- MySQL MD5用法及代码示例
- MySQL MOD()用法及代码示例
- MySQL MICROSECOND()用法及代码示例
- MySQL ROUND()用法及代码示例
- MySQL REPEAT()用法及代码示例
- MySQL POWER()用法及代码示例
注:本文由纯净天空筛选整理自Arthur Yanagisawa大神的英文原创作品 MySQL | MAKE_SET method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。