1. Chapter: MySQL常用自带函数
  1. 1. MySQL IFNULL()函数用法
  2. 2. MySQL MID()函数用法
  3. 3. MySQL ORD()函数用法

接下来我们再来看看 MySQL 自带的 ORD() 这个函数有什么作用。

ORD() 函数

ORD() 函数返回字符串第一个字符的 ASCII 值。

语法: ORD(string)

举一些简单的例子:

	mysql> SELECT ORD('i');
2	+----------+
3	| ORD('i') |
4	+----------+
5	|      105 |
6	+----------+
7	1 row in set

或者:

mysql> SELECT ORD('NowaMagic');
2	+------------------+
3	| ORD('NowaMagic') |
4	+------------------+
5	|               78 |
6	+------------------+
7	1 row in set

如果汉字又如何呢?

	mysql> SELECT ORD('简明现代魔法');
02	+---------------------+
03	| ORD('简明现代魔法') |
04	+---------------------+
05	|            15183488 |
06	+---------------------+
07	1 row in set
08	 
09	mysql> SELECT ORD('简');
10	+-----------+
11	| ORD('简') |
12	+-----------+
13	|  15183488 |
14	+-----------+
15	1 row in set
  • 为什么会有 8 位数那么长呢?原因是数据库使用的字符集问题,此处的数据库使用的是 UTF-8,16位表示一个符号。顺便贴一下SQL的执行语句:
mysql> SHOW CHARACTER SET;
02	+----------+-----------------------------+---------------------+--------+
03	| Charset  | Description                 | Default collation   | Maxlen |
04	+----------+-----------------------------+---------------------+--------+
05	| big5     | Big5 Traditional Chinese    | big5_chinese_ci     |      2 |
06	| dec8     | DEC West European           | dec8_swedish_ci     |      1 |
07	| cp850    | DOS West European           | cp850_general_ci    |      1 |
08	| hp8      | HP West European            | hp8_english_ci      |      1 |
09	| koi8r    | KOI8-R Relcom Russian       | koi8r_general_ci    |      1 |
10	| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
11	| latin2   | ISO 8859-2 Central European | latin2_general_ci   |      1 |
12	| swe7     | 7bit Swedish                | swe7_swedish_ci     |      1 |
13	| ascii    | US ASCII                    | ascii_general_ci    |      1 |
14	| ujis     | EUC-JP Japanese             | ujis_japanese_ci    |      3 |
15	| sjis     | Shift-JIS Japanese          | sjis_japanese_ci    |      2 |
16	| hebrew   | ISO 8859-8 Hebrew           | hebrew_general_ci   |      1 |
17	| tis620   | TIS620 Thai                 | tis620_thai_ci      |      1 |
18	| euckr    | EUC-KR Korean               | euckr_korean_ci     |      2 |
19	| koi8u    | KOI8-U Ukrainian            | koi8u_general_ci    |      1 |
20	| gb2312   | GB2312 Simplified Chinese   | gb2312_chinese_ci   |      2 |
21	| greek    | ISO 8859-7 Greek            | greek_general_ci    |      1 |
22	| cp1250   | Windows Central European    | cp1250_general_ci   |      1 |
23	| gbk      | GBK Simplified Chinese      | gbk_chinese_ci      |      2 |
24	| latin5   | ISO 8859-9 Turkish          | latin5_turkish_ci   |      1 |
25	| armscii8 | ARMSCII-8 Armenian          | armscii8_general_ci |      1 |
26	| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
27	| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
28	| cp866    | DOS Russian                 | cp866_general_ci    |      1 |
29	| keybcs2  | DOS Kamenicky Czech-Slovak  | keybcs2_general_ci  |      1 |
30	| macce    | Mac Central European        | macce_general_ci    |      1 |
31	| macroman | Mac West European           | macroman_general_ci |      1 |
32	| cp852    | DOS Central European        | cp852_general_ci    |      1 |
33	| latin7   | ISO 8859-13 Baltic          | latin7_general_ci   |      1 |
34	| utf8mb4  | UTF-8 Unicode               | utf8mb4_general_ci  |      4 |
35	| cp1251   | Windows Cyrillic            | cp1251_general_ci   |      1 |
36	| utf16    | UTF-16 Unicode              | utf16_general_ci    |      4 |
37	| cp1256   | Windows Arabic              | cp1256_general_ci   |      1 |
38	| cp1257   | Windows Baltic              | cp1257_general_ci   |      1 |
39	| utf32    | UTF-32 Unicode              | utf32_general_ci    |      4 |
40	| binary   | Binary pseudo charset       | binary              |      1 |
41	| geostd8  | GEOSTD8 Georgian            | geostd8_general_ci  |      1 |
42	| cp932    | SJIS for Windows Japanese   | cp932_japanese_ci   |      2 |
43	| eucjpms  | UJIS for Windows Japanese   | eucjpms_japanese_ci |      3 |
44	+----------+-----------------------------+---------------------+--------+
45	39 rows in set