rst name",null,"last name"); -> 'first name,last name'
length(str)
octet_length(str)
char_length(str)
character_length(str)
str 的长度:
mysql> select length('text');
-> 4
mysql> select octet_length('text');
-> 4
注意,char_length() 和 character_length() 对于多字节字符只计数一次。
bit_length(str)
str 的比特长度:
mysql> select bit_length('text');
-> 32
locate(substr,str)
position(substr in str)
substr 在字符串 str 中第一次出现的位置。如果子串 substr 在 str 中不存在,返回值为 0:
mysql> select locate('bar', 'foobarbar');
-> 4
mysql> select locate('xbar', 'foobar');
-> 0
这个函数是多字节安全的。在 mysql 3.23 中,这个函数是字母大小写敏感的,当在 mysql 4.0 中时,如有任一参数是一个二进制字符串,它才是字母大小写敏感的。
locate(substr,str,pos)
substr 在字符串 str 中的第 pos 位置后第一次出现的位置。如果 substr 不在 str 中返回 0 :
mysql> select locate('bar', 'foobarbar',5);
-> 7
这个函数是多字节安全的。在 mysql 3.23 中,这个函数是字母大小写敏感的,当在 mysql 4.0 中时,如有任一参数是一个二进制字符串,它才是字母大小写敏感的。
instr(str,substr)
substr 在字符串 str 中第一次出现的位置。这与有两个参数形式的 locate() 相似,只是参数的位置被颠倒了:
mysql> select instr('foobarbar', 'bar');
-> 4
mysql> select instr('xbar', 'foobar');
-> 0
这个函数是多字节安全的。在 mysql 3.23 中,这个函数是字母大小写敏感的,当在 mysql 4.0 中时,如有任一参数是一个二进制字符串,它才是字母大小写敏感的。
lpad(str,len,padstr)
padstr 对 str 进行左边填补直至它的长度达到 len 个字符长度,然后返回 str。如果 str 的长度长于 len',那么它将被截除到 len 个字符。
mysql> select lpad('hi',4,'??');
-> '??hi'
rpad(str,len,padstr)
padstr 对 str 进行右边填补直至它的长度达到 len 个字符长度,然后返回 str。如果 str 的长度长于 len',那么它将被截除到 len 个字符。
mysql> select rpad('hi',5,'?');
-> 'hi???'
left(str,len)
str 中最左边的 len 个字符:
mysql> select left('foobarbar', 5);
-> 'fooba'
这个函数是多字节安全的。
right(str,len)
str 中最右边的 len 个字符:
mysql> select right('foobarbar', 4);
-> 'rbar'
这个函数是多字节安全的。
substring(str,pos,len)
substring(str from pos for len)
mid(str,pos,len)
str 的 pos 位置起返回 len 个字符的子串。使用 from 的变体形式是 ansi sql92 的句法:
mysql> select substring('quadratically',5,6);
-> 'ratica'
这个函数是多字节安全的。
substring(str,pos)
substring(str from pos)
str 的 pos 位置起返回子串:
mysql> select substring('quadratically',5);
-> 'ratically'
mysql> select substring('foobarbar' from 4);
-> 'barbar'
这个函数是多字节安全的。
substring_index(str,delim,count)
str 中在第 count 个出现的分隔符 delim 之前的子串。如果 count 是一个正数,返回从最后的(从左边开始计数)分隔符到左边所有字符。如果 count 是负数,返回从最后的(从右边开始计数)分隔符到右边所有字符:
mysql> select substring_index('www.mysql.com', '.', 2);
-> 'www.mysql'
mysql> select substring_index('www.mysql.com', '.', -2);
-> 'mysql.com'
这个函数是多字节安全的。
ltrim(str)
str:
mysql> select ltrim(' barbar');
-> 'barbar'
rtrim(str)
str:
mysql> select rtrim('barbar ');
-> 'barbar'
这个函数是多字节安全的。