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
广告