在mysql中ASCII、ORD函数都是把字符转换成ascii码值的函数了,下面我来给各位同学介绍一下mysql中ASCII、ORD用法.
一,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)) | //phpfensi.com
- +———————————-+
- | 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()函数返回的相同值,代码如下:
mysql> select ORD('2');
-> 50 |