在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。