MySQL - CHAR() Function



The MySQL CHAR() function accepts one or more integer values as parameters, and returns a string containing the characters represented by the given integers. If you provide NULL as input, this function will ignore them.

You can specify the desired character set for the result using the USING clause. If you invoke this function within the MySQL client, binary strings are displayed using hexadecimal notation.

This function can be used in various scenarios, such as converting numerical codes to characters or converting data types between character and numeric formats.

Syntax

Following is the syntax of MySQL CHAR() function −

CHAR(N,... [USING charset_name])

Parameters

This function takes an integer or a string value as a parameter representing a Unicode code point.

Return Value

This function returns the corresponding character of the given input.

Example

In this example, we use the CHAR() function to convert a sequence of integers and hexadecimal values into a string −

SELECT CHAR(74, 75, 74, '6F', 72, 69, 61, '6C', 73, 70, '6F', 69, '6E', 74);

Following is the output of the above code −

CHAR(74, 75, 74, '6F', 72, 69, 61, '6C', 73, 70, '6F', 69, '6E', 74)
0x4A4B4A0648453D0649460645064A

Example

In this example, we convert a sequence of integers into a string −

SELECT CHAR(61, 62, 63, 64, 65, 66, 67);

Output of the above code is as shown below −

CHAR(61, 62, 63, 64, 65, 66, 67)
0x3D3E3F40414243

Example

If you pass an empty string as a parameter, the function returns a null character −

SELECT CHAR('');

The output obtained is as shown below −

CHAR('')
0x00

Example

When you pass a NULL value as a parameter, the result is an empty string −

SELECT CHAR(NULL);

The result produced is as follows −

CHAR(NULL)
0x

Example

You can specify the character set for the result using the USING clause. In this example, we convert the hexadecimal value '75' to a character using the UTF-8 character set −

SELECT CHAR(X'75' USING utf8);

We get the output as follows −

CHAR(X'75' USING utf8)
u

Example

If the arguments passed to the CHAR() function are greater than 255, it returns multiple result bytes, displaying the equivalent set −

SELECT HEX(CHAR(1,0,0,0)), HEX(CHAR(256*256*256));

Following is the output of the above code −

HEX(CHAR(1,0,0,0)) HEX(CHAR(256*256*256))
01000000 01000000

Example

You can also use the CHAR() function to convert numerical codes stored in a table into characters.

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

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

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

INSERT INTO STUDENTS_TBL VALUES 
('Raju', 80, '65'),
('Rahman', 60, '66'),
('Robert', 45, '67');

The STUDENTS_TBL obtained is as follows −

name marks grade
Raju 80 65
Rahman 60 66
Robert 45 67

To retrieve the characters corresponding to the grade values using the UTF-8 character set, you can use the CHAR() function as follows −

SELECT *, CHAR(GRADE USING utf8) FROM STUDENTS_TBL;

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

name marks grade CHAR(grade USING utf8)
Raju 80 65 A
Rahman 60 66 B
Robert 45 67 C
mysql-char-function.htm
Advertisements