字符串连接函数,参数是动态的

concat(str1,str2,…)

拼接str1,str2…在一起

mysql> select concat('huang','bao','kang');
+------------------------------+
| concat('huang','bao','kang') |
+------------------------------+
| huangbaokang                 |
+------------------------------+
1 row in set (0.00 sec)


insert(str,pos,len,newstr)

字符串str从pos位置开始的len字符串替换为newstr

mysql> select insert('I Love you',8,3,'zhanglulu');
+--------------------------------------+
| insert('I Love you',8,3,'zhanglulu') |
+--------------------------------------+
| I Love zhanglulu                     |
+--------------------------------------+
1 row in set (0.00 sec)

lower(str),upper(str)

小写转换字符串函数lower(str),大写转换字符串函数upper(str)

mysql> select lower('I Love zhanglulu');
+---------------------------+
| lower('I Love zhanglulu') |
+---------------------------+
| i love zhanglulu          |
+---------------------------+
1 row in set (0.00 sec)
mysql> select upper('I Love zhanglulu');
+---------------------------+
| upper('I Love zhanglulu') |
+---------------------------+
| I LOVE ZHANGLULU          |
+---------------------------+
1 row in set (0.00 sec)

length(str),char_length(str)

字符串长度函数length(str),char_length(str),其中length函数是以字节来统计的,char_length以字符来统计的,如果是单字节的字符,两者返回结果相同,如果utf8字符集下,一个汉字算三个字符,一个数字或字母算一个字符,其他编码下,一个汉字算两个字符,一个数字或者字母算一个字符。

mysql> select length("黄宝康");
+---------------------+
| length("黄宝康")    |
+---------------------+
|                   9 |
+---------------------+
1 row in set (0.00 sec)

mysql> select char_length("黄宝康");
+--------------------------+
| char_length("黄宝康")    |
+--------------------------+
|                        3 |
+--------------------------+
1 row in set (0.00 sec)

lpad(str,len,padstr),rpad(str,len,padstr)

字符串填补函数,分左右,lpad(str,len,padstr),rpad(str,len,padstr),用字符串 padstr对 str进行左/右边填补直至它的长度达到 len个字符长度,然后返回 str。如果 str的长度长于 len’,那么它将被截除到 len个字符。

mysql> select lpad('zhanglulu',20,'Love');
+-----------------------------+
| lpad('zhanglulu',20,'Love') |
+-----------------------------+
| LoveLoveLovzhanglulu        |
+-----------------------------+
1 row in set (0.00 sec)

mysql> select rpad('zhanglulu',20,'Love');
+-----------------------------+
| rpad('zhanglulu',20,'Love') |
+-----------------------------+
| zhangluluLoveLoveLov        |
+-----------------------------+
1 row in set (0.00 sec)

trim(str)

trim(str)去除左右两边的空格

mysql> select trim('   I love you  ');
+-------------------------+
| trim('   I love you  ') |
+-------------------------+
| I love you              |
+-------------------------+
1 row in set (0.00 sec)

repeat(str,count)

repeat(str,count),返回重复count次str后的结果

mysql> select repeat('helloworld',3);
+--------------------------------+
| repeat('helloworld',3)         |
+--------------------------------+
| helloworldhelloworldhelloworld |
+--------------------------------+
1 row in set (0.00 sec)

replace(str,from_str,to_str)

字符串替换replace(str,from_str,to_str),用字符串to_str替换所有的字符串from_str

mysql> select replace('I hate you,hate you always! ','hate','love');
+-------------------------------------------------------+
| replace('I hate you,hate you always! ','hate','love') |
+-------------------------------------------------------+
| I love you,love you always!                           |
+-------------------------------------------------------+
1 row in set (0.00 sec)


substring(str,pos,len)

字符串截取substring(str,pos,len),返回字符串str,从pos位置开始的len字符串,省略第三个参数,将截取到最后

mysql> select substring('huangbaokang',6);
+-----------------------------+
| substring('huangbaokang',6) |
+-----------------------------+
| baokang                     |
+-----------------------------+
1 row in set (0.00 sec)