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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。