0x01 ascii(str)
注意:ascii函数 只会返回字符串str的最左面第一个字符的ASCII代码值。
如果str是空字符串,返回0。如果str是NULL,返回NULL。
// 104是h的ASCII值
mysql> select ascii('hi');
+-------------+
| ascii('hi') |
+-------------+
| 104 |
+-------------+
1 row in set (0.00 sec)
0x02 ord(str)
注意:ord函数与ascii函数功能都是一样的
使用ord转汉字,如果数据库编码是“UTF-8”会有8位数
mysql> SELECT ORD('简明现代魔法');
+---------------------+
| ORD('简明现代魔法') |
+---------------------+
| 15183488 |
+---------------------+
1 row in set
mysql> SELECT ORD('简');
+-----------+
| ORD('简') |
+-----------+
| 15183488 |
+-----------+
1 row in set
0x03 conv(n,from_base,to_base)
对数字n进制转换,并转换为字符串返回(任何参数为null时返回null,进制范围为2-36进制,当to_base是负数时n作为有符号数否则作无符号数,conv以64位点精度工作)
mysql> select conv("a",16,2);
-> '1010'
mysql> select conv("6e",18,8);
-> '172'
mysql> select conv(-17,10,-18);
-> '-H'
mysql> select conv(10+"10"+'10'+0xa,10,10);
-> '40'
0x04 bin(n)
把n转为二进制值并以字符串返回(n是bigint数字,等价于conv(n,10,2))
mysql> select bin(12);
-> '1100'
0x05 oct(n)
把n转为八进制值并以字符串返回(n是bigint数字,等价于conv(n,10,8))
mysql> select oct(12);
-> '14'
0x06 hex(n)
把n转为十六进制并以字符串返回(n是bigint数字,等价于conv(n,10,16))
mysql> select hex(255);
-> 'FF'
0x07 char(n,…)
返回由参数n,…对应的ascii代码字符组成的一个字符串(参数是n,…是数字序列,null值被跳过)
mysql> select char(77,121,83,81,'76');
-> 'MySQL'
mysql> select char(77,77.3,'77.3');
-> 'MMM'
0x08 concat(str1,str2,…)
把参数连成一个长字符串并返回(任何参数是null时返回null)
mysql> select concat('my', 's', 'ql');
-> 'mysql'
mysql> select concat('my', null, 'ql');
-> null
mysql> select concat(14.3);
-> '14.3'
0x09 UNHEX(n)
把16进制内容转为十进制内容
# 数据转为 16进制
mysql> select hex('test');
+-------------+
| hex('test') |
+-------------+
| 74657374 |
+-------------+
1 row in set (0.00 sec)
# 数据16进制转为10进制
mysql> select UNHEX(74657374);
+-----------------+
| UNHEX(74657374) |
+-----------------+
| test |
+-----------------+
1 row in set (0.00 sec)