在MySQL数据库中,字符串函数用于对字符串数据进行处理和操作,其返回值类型通常为字符串或数值。当处理的字符串长度超过服务器参数 max_allowed_packet 的限制时,字符串函数会返回 NULL 值。
将介绍一些常用的MySQL字符串函数及其功能:
1. ASCII(str)
ASCII(str) 函数返回字符串 str 最左侧字符的ASCII代码值。
- 如果
str为空字符串,则返回0。 - 如果
str为NULL,则返回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) 函数用于在不同的数字基之间进行转换。
- 将数字
N从from_base基转换为to_base基,并以字符串形式返回转换后的结果。 N可以是整数或字符串形式,但会被解释为整数。- 基的范围为2到36,最小值为2,最大值为36。
- 如果
to_base为负数,则将N视为有符号数;否则,将N视为无符号数。 - 如果任何参数为
NULL,则返回NULL。
4. BIN(N)
BIN(N) 函数返回长整型数字 N 的二进制字符串表示形式,等价于 CONV(N,10,2)。
- 如果
N为NULL,则返回NULL。
字符串位置操作
需要注意的是,在MySQL中,字符串位置操作的起始位置为1,而不是0。