當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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