MySQL ORD() 函数
MySQL ORD() 函数接受一个字符串值作为参数,如果给定字符串的最左边字符是多字节字符,则该函数使用以下公式计算其编码 -
(第一个字节编码) + (第二个字节编码 * 256) + (第三个字节编码 * 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.html