background image

mysql 的字符串函数

注意

:如果结果的长度大于服务器参数 max_allowed_packet,字符串值函数返回 NULL

对于针对字符串位置的操作,第一个位置被标记为

1。

ASCII(str)
返回字符串

str 的最左面字符的 ASCII 代码值。如果 str 是空字符串,返回 0。如果 str 是

NULL,返回 NULL。

MySQL>selectASCII('2');
->50
mysql>selectASCII(2);
->50
mysql>selectASCII('dx');
->100
也可参见

ORD()函数。

ORD(str)
如果字符串

str 最左面字符是一个多字节字符,通过以格式((firstbyteASCIIcode)*256 

(secondbyteASCIIcode))[*256 thirdbyteASCIIcode...]返回字符的 ASCII 代码值来返回多字节
字符代码。如果最左面的字符不是一个多字节字符。返回与

ASCII()函数返回的相同值。

mysql>selectORD('2');
->50
CONV(N,from_base,to_base)
在不同的数字基之间变换数字。返回数字

N 的字符串数字,从 from_base 基变换为

to_base 基,如果任何参数是 NULL,返回 NULL。参数 N 解释为一个整数,但是可以指定
为一个整数或一个字符串。最小基是

2 且最大的基是 36。如果 to_base 是一个负数,N 被认为

是一个有符号数,否则,

N 被当作无符号数。CONV 以 64 位点精度工作。

mysql>selectCONV("a",16,2);
->'1010'
mysql>selectCONV("6E",18,8);
->'172'
mysql>selectCONV(-17,10,-18);
->'-H'
mysql>selectCONV(10 "10" '10' 0xa,10,10);
->'40'
BIN(N)
返回二进制值

N 的一个字符串表示,在此 N 是一个长整数(BIGINT)数字,这等价于

CONV(N,10,2)。如果 N 是 NULL,返回 NULL。

mysql>selectBIN(12);