MySQL EXPORT_SET() 函式



MySQL 的 EXPORT_SET() 函式是一個字串函式,用於從右到左使用二進位制數字(通常是 '1' 和 '0' 或 'Y' 和 'N')表示數值。

語法

以下是 MySQL EXPORT_SET() 函式的語法:

EXPORT_SET(bits,on,off[,separator[,number_of_bits]]);

引數

以下是此函式接受的引數:

  • bits 是要表示的值。

  • on 是對每個位設定的值使用的字串。

  • off 是對每個位未設定的值使用的字串。

  • separator 是要放置在中間的分隔符。

  • number_of_bits 是結果中所需的位數。

返回值

此函式返回一個逗號分隔的字串,其中整數的每個位位置對應於相應字串的包含或排除。

示例

在此示例中,我們使用 EXPORT_SET() 函式使用 '1' 表示“開”,使用 '0' 表示“關”,使用空格作為分隔符和六位來表示十進位制數 '1':

SELECT EXPORT_SET(1,'1','0',' ',6);

以下是上述程式碼的輸出:

EXPORT_SET(1,'1','0',' ',6)
1 0 0 0 0 0

示例

現在,我們使用 '1' 和 '0' 用四位來表示 '8':

SELECT EXPORT_SET(8,'1','0',' ',4);

上述程式碼的輸出如下所示:

EXPORT_SET(8,'1','0',' ',4)
0 0 0 1

示例

在此示例中,我們使用 'Y' 和 'N' 作為“開”和“關”字串:

SELECT EXPORT_SET(98, 'Y', 'N', ' ', 8);

獲得的輸出如下所示:

EXPORT_SET(98, 'Y', 'N', ' ', 8)
N Y N N N Y Y N

示例

您還可以將表的列名作為引數傳遞給此函式,並獲取其中所有數字的二進位制值。

讓我們建立一個名為“STUDENTS_TABLE”的表,並使用 CREATE 和 INSERT 語句向其中插入記錄,如下所示:

CREATE TABLE STUDENTS_TABLE (
   name VARCHAR(15),
   marks INT,
   grade CHAR
);

現在,讓我們使用 INSERT 語句向其中插入記錄:

INSERT INTO STUDENTS_TABLE VALUES 
('Raju', 80, 'A'),
('Rahman', 60, 'B'),
('Robert', 45, 'C');

獲得的 STUDENTS_TABLE 如下所示:

姓名 分數 等級
Raju 80 A
Rahman 60 B
Robert 45 C

以下查詢檢索 STUDENTS_TABLE 中分數的二進位制值:

SELECT name, marks, EXPORT_SET(marks, '1', '0', ' ', 8) 
FROM STUDENTS_TABLE;

執行上述程式碼後,我們將獲得以下輸出:

姓名 分數 EXPORT_SET(marks, '1', '0', ' ', 8)
Raju 80 0 0 0 0 1 0 1 0
Rahman 60 0 0 1 1 1 1 0 0
Robert 45 1 0 1 1 0 1 0 0
mysql-export-set-function.htm
廣告