MySQL - ORD() Function



The MySQL ORD() function accepts a string value as a parameter and if the leftmost character of the given string is a multibyte character, this function calculates the code for it using the following formula −

(1st byte code) + (2nd byte code * 256) + (3rd byte code * 2562)

On the contrary, if the left most character of the given string is not multibyte, this function returns its numerical value, just like the ASCII function.

Syntax

Following is the syntax of MySQL ORD() function −

ORD(str)

Parameters

This function takes a string value as a parameter.

Return Value

This function returns the Unicode code point of a given character.

Example

In the following example, we are using the ORD() function to calculate the code for the multibyte characters '€', 'á', '仮', '平', 'అ', and 'ఆ' −

SELECT ORD('€'), ORD('á'), ORD('仮'), ORD('平'), ORD('అ'), ORD('ఆ');

Following is the output of the above code −

ORD('€') ORD('á') ORD('仮') ORD('平') ORD('అ') ORD('ఆ')
14844588 50081 14990254 15055283 14725253 14725254

Example

If the first character of the argument passed to this function is not a multibyte character, the ORD() function behaves the same as the ASCII() function −

SELECT ORD('test');

The output obtained is as follows −

ORD('test')
116

Following is the example of ASCII() function −

SELECT ASCII('test');

The output produced is as follows −

ASCII('test')
116

Example

If you pass an empty string as a parameter to this function, it returns 0 −

SELECT ORD('');

We get the output as follows −

ORD('')
0

Example

When you pass a NULL value as a parameter, the function returns NULL −

SELECT ORD(NULL);

The result produced is as shown below −

ORD(NULL)
NULL

Example

The ORD() function returns different values for lowercase and uppercase characters.

Here, we are retrieving the ORD value for the letter 'A' (upper-case) −

SELECT ORD('A');

Following is the output of the above code −

ORD('A')
65

Now, we are retrieving the ORD value for the letter 'a' (lower-case) −

SELECT ORD('a');

Following is the output of the above code −

ORD('a')
97

Example

You can also pass a column name of a table as a parameter to this function and ORD numbers for all the first characters of its entities.

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

CREATE TABLE STD (
   name VARCHAR(15),
   TeluguName VARCHAR(15)
);

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

INSERT INTO STD VALUES 
('Raju', 'రాజు'),
('Krishna', 'కృష్ణ'),
('Satish', 'సతీష్');

The STD table obtained is as follows −

name TeluguName
Raju రాజు
Krishna కృష్ణ
Satish సతీష్

Following query retrieves the ORD values of the entities of the column 'TeluguName' in the 'STD' table −

SELECT name, TeluguName, ASCII(TeluguName), ORD(TeluguName)  
FROM STD;

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

name TeluguName ASCII(TeluguName) ORD(TeluguName)
Raju రాజు 224 14725296
Krishna కృష్ణ 224 14725269
Satish సతీష్ 224 14725304
mysql-ord-function.htm
Advertisements