MySQL ORD() 函数



MySQL 的ORD()函数接受字符串值作为参数,如果给定字符串的最左字符是多字节字符,则此函数使用以下公式计算其代码:

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

相反,如果给定字符串的最左字符不是多字节字符,则此函数返回其数值,就像 ASCII 函数一样。

语法

以下是 MySQL ORD() 函数的语法:

ORD(str)

参数

此函数采用字符串值作为参数。

返回值

此函数返回给定字符的 Unicode 代码点。

示例

在下面的示例中,我们使用 ORD() 函数计算多字节字符 '€'、'á'、'仮'、'平'、'అ' 和 'ఆ' 的代码:

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

以下是上述代码的输出:

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

示例

如果传递给此函数的参数的第一个字符不是多字节字符,则 ORD() 函数的行为与 ASCII() 函数相同:

SELECT ORD('test');

获得的输出如下:

ORD('test')
116

以下是 ASCII() 函数的示例:

SELECT ASCII('test');

生成的输出如下:

ASCII('test')
116

示例

如果将空字符串作为参数传递给此函数,则它返回 0:

SELECT ORD('');

我们得到以下输出:

ORD('')
0

示例

当您将 NULL 值作为参数传递时,函数返回 NULL:

SELECT ORD(NULL);

产生的结果如下所示:

ORD(NULL)
NULL

示例

ORD() 函数对小写和大写字符返回不同的值。

这里,我们检索字母 'A'(大写)的 ORD 值:

SELECT ORD('A');

以下是上述代码的输出:

ORD('A')
65

现在,我们检索字母 'a'(小写)的 ORD 值:

SELECT ORD('a');

以下是上述代码的输出:

ORD('a')
97

示例

您还可以将表的列名作为参数传递给此函数,并获取其所有实体的第一个字符的 ORD 编号。

让我们创建一个名为“STD”的表,并使用 CREATE 和 INSERT 语句向其中插入记录,如下所示:

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

现在,让我们使用 INSERT 语句向其中插入记录:

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

获得的 STD 表如下:

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

以下查询检索 'STD' 表中 'TeluguName' 列的实体的 ORD 值:

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

执行上述代码后,我们得到以下输出:

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