一,ASCII(str1)
返回字符串str的最左面字符的ASCII代码值。如果str是空字符串,返回0。如果str是NULL,返回NULL
举例:
1.
代码如下
mysql> select ascii('hi');
+————-+
| ascii('hi') |
+————-+
| 104 |
+————-+
1 row in set
104是h的ASCII值
2.输出b和B的ASCII值
代码如下
mysql> SELECT ASCII('b')AS Lower_Case, ASCII('B') AS Upper_Case;
+————+————+
| Lower_Case | Upper_Case |
+————+————+
| 98 | 66 |
+————+————+
1 row in set
3.在where语句中使用ASCII函数
输出aut_name首字母的ASCII值小于70的数据
代码如下
SELECT aut_name,ASCII(aut_name)as "ASCII value of 1st character"
FROM author
WHERE ASCII(aut_name)<70;
4.输出字段中不存在没有ASCII值的数据
代码如下
SELECT * FROM table_name WHERE NOT column_to_check REGEXP '[A-Za-z0-9.,-]';
5.与SUBSTRING一起使用计算字符串第二个以后的ASCII值
代码如下
mysql> select ASCII(SUBSTRING('database',2,1));
+———————————-+
| ASCII(SUBSTRING('database',2,1)) |
+———————————-+
| 97 |
+———————————-+
1 row in set
二,ord函数
ORD(str)
如果字符串str最左面字符是一个多字节字符,通过以格式
代码如下
((first byte ASCII code)*256+(second byte ASCII code))[*256+third byte ASCII code...]
返回字符的ASCII代码值来返回多字节字符代码。如果最左面的字符不是一个多字节字符。返回与ASCII()函数返回的相同值。
代码如下
1 mysql> select ORD('2');
2 -> 50