SQL道場 文字列関数 MAKE_SET関数

指定されたビットに対する文字列のセットを返すMAKE_SET関数について記載しています。

対応データベースMySQL

MAKE_SET関数の文法

SELECT MAKE_SET(ビット,文字列1,文字列2 [,文字列3・・・]) FROM テーブル
引数ビット数値型
文字列文字列型
返値文字列型

MAKE_SET関数は指定されたビットに対応する文字列のセットを返します。文字列1がビット0に対応し、文字列2がビット1に対応し、文字列3がビット2に対応するという順になります。文字列1、文字列2、… 内の NULL 値は結果に追加されません。

実行例

MySQLの実行例

指定されたビットに対する文字列のセットを返します。

/* 指定されたビットに対する文字列のセットを返すサンプル */
SELECT MAKE_SET(1 | 4,'A','B','C','D');
MAKE_SET関数サンプル実行結果

上記の例では0001(10進数の1)と0100(10進数の4)のOR演算の結果が0101なので、1つめと3つめの文字列が戻ります。