在MySQL数据库中,字符串函数用于对字符串数据进行处理和操作,其返回值类型通常为字符串或数值。当处理的字符串长度超过服务器参数 max_allowed_packet 的限制时,字符串函数会返回 NULL 值。

将介绍一些常用的MySQL字符串函数及其功能:

1. ASCII(str)

ASCII(str) 函数返回字符串 str 最左侧字符的ASCII代码值。

  • 如果 str 为空字符串,则返回 0
  • 如果 strNULL,则返回 NULL

2. ORD(str)

ORD(str) 函数返回字符串 str 最左侧字符的ASCII代码值。

  • 如果最左侧字符是多字节字符,则返回其多字节字符代码,计算方式为 ((first byte ASCII code)*256+(second byte ASCII code)) [*256+third byte ASCII code...]
  • 如果最左侧字符不是多字节字符,则返回与 ASCII() 函数相同的值。

3. CONV(N,from_base,to_base)

CONV(N,from_base,to_base) 函数用于在不同的数字基之间进行转换。

  • 将数字 Nfrom_base 基转换为 to_base 基,并以字符串形式返回转换后的结果。
  • N 可以是整数或字符串形式,但会被解释为整数。
  • 基的范围为2到36,最小值为2,最大值为36。
  • 如果 to_base 为负数,则将 N 视为有符号数;否则,将 N 视为无符号数。
  • 如果任何参数为 NULL,则返回 NULL

4. BIN(N)

BIN(N) 函数返回长整型数字 N 的二进制字符串表示形式,等价于 CONV(N,10,2)

  • 如果 NNULL,则返回 NULL

字符串位置操作

需要注意的是,在MySQL中,字符串位置操作的起始位置为1,而不是0。