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');-> nullmysql> 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)
