ASCII
描述
返回字符串第一个字符对应的 ASCII 码值。该函数仅处理字符串的第一个字符,对于多字符字符串只返回首字符的 ASCII 值。
语法
ASCII(<str>)
参数
| 参数 | 说明 |
|---|---|
<str> | 需要获取第一个字符 ASCII 码的字符串。类型:VARCHAR |
返回值
返回 INT 类型,表示字符串第一个字符的 ASCII 码值。
特殊情况:
- 如果参数为 NULL,返回 NULL
- 如果字符串为空,返回 0
- 如果第一个字符不是 ASCII 字符(码值大于 127),返回对应的字节值
- 对于多字节 UTF-8 字符,返回第一个字节的值
示例
- 基本数字字符
SELECT ASCII('1'), ASCII('234');
+------------+--------------+
| ASCII('1') | ASCII('234') |
+------------+--------------+
| 49 | 50 |
+------------+--------------+
- 字母字符
SELECT ASCII('A'), ASCII('a'), ASCII('Z');
+------------+------------+------------+
| ASCII('A') | ASCII('a') | ASCII('Z') |
+------------+------------+------------+
| 65 | 97 | 90 |
+------------+------------+------------+
- 空字符串处理
SELECT ASCII('');
+----------+
| ASCII('') |
+----------+
| 0 |
+----------+
- NULL 值处理
SELECT ASCII(NULL);
+-------------+
| ASCII(NULL) |
+-------------+
| NULL |
+-------------+
- 特殊符号
SELECT ASCII(' '), ASCII('!'), ASCII('@');
+------------+------------+------------+
| ASCII(' ') | ASCII('!') | ASCII('@') |
+------------+------------+------------+
| 32 | 33 | 64 |
+------------+------------+------------+
- 控制字符
SELECT ASCII('\t'), ASCII('\n'), ASCII('\r');
+-------------+-------------+-------------+
| ASCII('\t') | ASCII('\n') | ASCII('\r') |
+-------------+-------------+-------------+
| 9 | 10 | 13 |
+-------------+-------------+-------------+
- 多字符字符串(只返回第一个字符)
SELECT ASCII('Hello'), ASCII('World123');
+----------------+------------------+
| ASCII('Hello') | ASCII('World123') |
+----------------+------------------+
| 72 | 87 |
+----------------+------------------+
- UTF-8 多字节字符
SELECT ASCII('ṭṛì'), ASCII('ḍḍumai');
+---------------+------------------+
| ASCII('ṭṛì') | ASCII('ḍḍumai') |
+---------------+------------------+
| 225 | 225 |
+---------------+------------------+
- 数字与字符混合
SELECT ASCII('9abc'), ASCII('0xyz');
+---------------+---------------+
| ASCII('9abc') | ASCII('0xyz') |
+---------------+---------------+
| 57 | 48 |
+---------------+---------------+