0x01 ascii(str)

注意:ascii函数 只会返回字符串str的最左面第一个字符的ASCII代码值。

如果str是空字符串,返回0。如果str是NULL,返回NULL。

  1. // 104是h的ASCII值
  2. mysql> select ascii('hi');
  3. +-------------+
  4. | ascii('hi') |
  5. +-------------+
  6. | 104 |
  7. +-------------+
  8. 1 row in set (0.00 sec)

0x02 ord(str)

注意:ord函数与ascii函数功能都是一样的

使用ord转汉字,如果数据库编码是“UTF-8”会有8位数

  1. mysql> SELECT ORD('简明现代魔法');
  2. +---------------------+
  3. | ORD('简明现代魔法') |
  4. +---------------------+
  5. | 15183488 |
  6. +---------------------+
  7. 1 row in set
  1. mysql> SELECT ORD('简');
  2. +-----------+
  3. | ORD('简') |
  4. +-----------+
  5. | 15183488 |
  6. +-----------+
  7. 1 row in set

0x03 conv(n,from_base,to_base)

对数字n进制转换,并转换为字符串返回(任何参数为null时返回null,进制范围为2-36进制,当to_base是负数时n作为有符号数否则作无符号数,conv以64位点精度工作)

  1. mysql> select conv("a",16,2);
  2.   -> '1010'
  3. mysql> select conv("6e",18,8);
  4.   -> '172'
  5. mysql> select conv(-17,10,-18);
  6.   -> '-H'
  7. mysql> select conv(10+"10"+'10'+0xa,10,10);
  8.   -> '40'

0x04 bin(n)

把n转为二进制值并以字符串返回(n是bigint数字,等价于conv(n,10,2))

  1. mysql> select bin(12);
  2.   -> '1100'

0x05 oct(n)

把n转为八进制值并以字符串返回(n是bigint数字,等价于conv(n,10,8))

  1. mysql> select oct(12);
  2.   -> '14'

0x06 hex(n)

把n转为十六进制并以字符串返回(n是bigint数字,等价于conv(n,10,16))

  1. mysql> select hex(255);
  2.   -> 'FF'

0x07 char(n,…)

返回由参数n,…对应的ascii代码字符组成的一个字符串(参数是n,…是数字序列,null值被跳过)

  1. mysql> select char(77,121,83,81,'76');
  2.   -> 'MySQL'
  3. mysql> select char(77,77.3,'77.3');
  4.   -> 'MMM'

0x08 concat(str1,str2,…)

把参数连成一个长字符串并返回(任何参数是null时返回null)

  1. mysql> select concat('my', 's', 'ql');
  2.   -> 'mysql'
  3. mysql> select concat('my', null, 'ql');
  4.   -> null
  5. mysql> select concat(14.3);
  6.   -> '14.3'

0x09 UNHEX(n)

把16进制内容转为十进制内容

  1. # 数据转为 16进制
  2. mysql> select hex('test');
  3. +-------------+
  4. | hex('test') |
  5. +-------------+
  6. | 74657374 |
  7. +-------------+
  8. 1 row in set (0.00 sec)
  1. # 数据16进制转为10进制
  2. mysql> select UNHEX(74657374);
  3. +-----------------+
  4. | UNHEX(74657374) |
  5. +-----------------+
  6. | test |
  7. +-----------------+
  8. 1 row in set (0.00 sec)