MariaDB ORD() 函数使用指南

在 MariaDB 中,ORD() 是一个内置的字符串函数,它返回字符串参数中的第一个字符的数字代码。

ORD() 函数是 ASCII() 函数的加强版,它不但可以处理单字节字符,也可以处理多字节字符。

MariaDB ORD() 语法

这里是 MariaDB ORD() 函数的语法:

ORD(string)

参数

string
必需的。一个字符串。

返回值

MariaDB ORD(string) 函数首先获取参数 string 的第一个字符,然后按如下规则返回结果:

  • 如果第一个字符是单字节字符, ORD() 函数返回字符的 ASCII

  • 如果第一个字符是多字节字符,根据以下公式计算结果:

      (1st byte code)
    + (2nd byte code x 256)
    + (3rd byte code x 256 x 256) ...
    

如果参数为空字符串 ''ORD() 函数将返回 0

如果参数为 NULLORD() 函数将返回 NULL

MariaDB ORD() 示例

单字节字符

对于单字节字符, MariaDB ORD() 函数返回其 ASCII 值,下面的语句展示了这一点:

SELECT ORD('A'), ORD('AB');

输出:

+----------+-----------+
| ORD('A') | ORD('AB') |
+----------+-----------+
|       65 |        65 |
+----------+-----------+

在本示例中,由于 ORD() 只返回第一个字符的数字代码,所以 ORD('A')ORD('AB') 都返回 A 的 ASCII 值,即 65。

多字节字符

MariaDB ORD() 函数可以处理多字节字符,如下:

SELECT ORD('©'), ORD('⟺'), ORD('你'), ORD('你好');

输出:

+-----------+------------+------------+---------------+
| ORD('©')  | ORD('⟺')   | ORD('你')  | ORD('你好')   |
+-----------+------------+------------+---------------+
|     49833 |   14852026 |   14990752 |      14990752 |
+-----------+------------+------------+---------------+

空字符串和 NULL

如果参数为空字符串 ''ORD() 函数将返回 0。如果参数为 NULLORD() 函数将返回 NULL

SELECT ORD(''), ORD(NULL);

输出:

+---------+-----------+
| ORD('') | ORD(NULL) |
+---------+-----------+
|       0 |      NULL |
+---------+-----------+

结论

在 MariaDB 中,ORD() 是一个内置的字符串函数,它返回字符串参数中的第一个字符的数字代码。