在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)) | //Vevb.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
新聞熱點
疑難解答