MySQL EXPORT_SET() Function



The MySQL EXPORT_SET() function is a string function used to represent a numerical value using binary digits (usually '1' and '0' or 'Y' and 'N') from right to left.

Syntax

Following is the syntax of MySQL EXPORT_SET() function −

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

Parameters

Following are the parameters accepted by this function −

  • bits is the value to be represented.

  • on is the string used for every bit set in the value.

  • off is the string used for every bit not set in the value.

  • separator is the separator to place in between.

  • number_of_bits is number of bits required in the result.

Return Value

This function returns a comma-separated string where each bit position of the integer corresponds to inclusion or exclusion of the respective string.

Example

In this example, we are using the EXPORT_SET() function to represent the decimal number '1' using '1' for 'on' and '0' for 'off' with a space separator and six bits −

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

Following is the output of the above code −

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

Example

Now, we are representing '8' using '1' and '0' with four bits −

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

Output of the above code is as shown below −

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

Example

In this example, we are using 'Y' and 'N' as 'on' and 'off' strings −

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

The output obtained is as shown below −

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

Example

You can also pass a column name of a table as an argument to this function and get binary values for all the numbers in it.

Let us create a table named "STUDENTS_TABLE" and insert records into it using CREATE and INSERT statements as shown below −

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

Now, let us insert records into it using the INSERT statement −

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

The STUDENTS_TABLE obtained is as follows −

name marks grade
Raju 80 A
Rahman 60 B
Robert 45 C

Following query retrieves the binary values of the marks in the STUDENTS_TABLE −

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

After executing the above code, we get the following output −

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.htm
Advertisements