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",其中"1"表示"开","0"表示"关",并使用空格分隔符和六位数据 -
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如下-
name | marks | grade |
---|---|---|
Raju | 80 | A |
Rahman | 60 | B |
Robert | 45 | C |
以下查询检索 STUDENTS_TABLE 中分数的二进制值 -
SELECT name, marks, EXPORT_SET(marks, '1', '0', ' ', 8) FROM STUDENTS_TABLE;
执行上述代码后,我们得到以下输出 -
name | marks | 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.html