1.concat函数的使用
concat(str1,str2,...)
返回的结果是参数连接后产生的字符串,如果有任何一个参数为null,则返回结果为null。
mysql> select concat('My','s','ql');+-----------------------+| concat('My','s','ql') |+-----------------------+| Mysql |+-----------------------+1 row in set (0.00 sec)mysql> select concat('My','s','ql',null);+----------------------------+| concat('My','s','ql',null) |+----------------------------+| NULL |+----------------------------+1 row in set (0.00 sec)该函数的作用就是连接字符串
2.concat_ws() :concat with separator 是CONCAT()的特殊形式。第一个参数是其它参数的分隔符。分隔符的位置放在要连接的两个字符串间。分隔符可以是一个字符串,也可以是其它参数。如果分隔符为 NULL,则结果为 NULL。函数会忽略任何分隔符参数后的 NULL 值。
mysql> select concat_ws('@','My','s','ql');+------------------------------+| concat_ws('@','My','s','ql') |+------------------------------+| My@s@ql |+------------------------------+1 row in set (0.00 sec)mysql> select concat_ws(';','My','s','ql');+------------------------------+| concat_ws(';','My','s','ql') |+------------------------------+| My;s;ql |+------------------------------+1 row in set (0.00 sec)
3.REPLACE(str,from_str,to_str)函数的作用:把字符串str中的子字符串from_str全部替换为to_str后得到的字符串,如果to_str为空字符串,那么相当于把from_str子字符串全去掉,如果from_str为空字符串相当于对str不做任何修改,只要输入参数中有null值就返回null。
mysql> select replace('mingyue-s2','-s2','');+--------------------------------+| replace('mingyue-s2','-s2','') |+--------------------------------+| mingyue |+--------------------------------+1 row in set (0.00 sec)mysql> select replace('mingyue-s2','-s2',' ');+---------------------------------+| replace('mingyue-s2','-s2',' ') |+---------------------------------+| mingyue |+---------------------------------+1 row in set (0.00 sec)mysql> select replace('mingyue-s2','-s2',null);+----------------------------------+| replace('mingyue-s2','-s2',null) |+----------------------------------+| NULL |+----------------------------------+1 row in set (0.00 sec)mysql> select concat('mingyue','-s2');+-------------------------+| concat('mingyue','-s2') |+-------------------------+| mingyue-s2 |+-------------------------+1 row in set (0.00 sec)mysql> select replace('mingyue-s2','-s2',' ');+---------------------------------+| replace('mingyue-s2','-s2',' ') |+---------------------------------+| mingyue |+---------------------------------+1 row in set (0.00 sec)
4.TRIM([{BOTH | LEADING | TRAILING} [remstr] FROM] str)
TRIM([remstr FROM] str)
该函数的作用是在字符串str的首尾去掉子字符串remstr后得到的字符串,有以下情况:
1)如果给出LEADING关键字,函数将去掉str字符串最左端的子字符串remstr
2)如果给出TRAILING关键字,函数将去掉str字符串最右端的子字符串remstr
3)如果给出了BOTH关键字,函数将去掉str字符串最左右两端的子字符串remstr
4)如果没有关键字,默认为BOTH
5)如果没有给出子字符串,默认为空格
mysql> SELECT TRIM(LEADING 'x' FROM 'xxxbarxxx');+------------------------------------+| TRIM(LEADING 'x' FROM 'xxxbarxxx') |+------------------------------------+| barxxx |+------------------------------------+1 row in set (0.04 sec)mysql> SELECT TRIM(BOTH 'x' FROM 'xxxbarxxx');+---------------------------------+| TRIM(BOTH 'x' FROM 'xxxbarxxx') |+---------------------------------+| bar |+---------------------------------+1 row in set (0.00 sec)mysql> SELECT TRIM(TRAILING 'xyz' FROM 'barxxyz');+-------------------------------------+| TRIM(TRAILING 'xyz' FROM 'barxxyz') |+-------------------------------------+| barx |+-------------------------------------+1 row in set (0.00 sec)mysql> select trim(trailing '-s2' from 'mingyue-s2');+----------------------------------------+| trim(trailing '-s2' from 'mingyue-s2') |+----------------------------------------+| mingyue |+----------------------------------------+1 row in set (0.00 sec)mysql> select trim('-s2' from 'mingyue-s2');+-------------------------------+| trim('-s2' from 'mingyue-s2') |+-------------------------------+| mingyue |+-------------------------------+1 row in set (0.00 sec)
5.REVERSE(str)函数:把字符串倒序排列
mysql> select reverse('mingyue-s2');
+-----------------------+| reverse('mingyue-s2') |+-----------------------+| 2s-euygnim |+-----------------------+1 row in set (0.00 sec)mysql> select reverse('abc');
+----------------+| reverse('abc') |+----------------+| cba |+----------------+1 row in set (0.00 sec)6.LENGTH(str)函数:返回str的长度,以字节为单位
mysql> select length('zhu');+---------------+| length('zhu') |+---------------+| 3 |+---------------+1 row in set (0.00 sec)mysql> select length('mingyue-s2');+----------------------+| length('mingyue-s2') |+----------------------+| 10 |+----------------------+1 row in set (0.00 sec)
7.LEFT(str,len)函数:返回字符串最左端的len个字符
8.RIGHT(str,len)函数:返回字符串最右端的len个字符
mysql> select left('mingyue-s2',7);+----------------------+| left('mingyue-s2',7) |+----------------------+| mingyue |+----------------------+1 row in set (0.00 sec)mysql> select right('mingyue-s2',7);+-----------------------+| right('mingyue-s2',7) |+-----------------------+| gyue-s2 |+-----------------------+1 row in set (0.00 sec)
mysql> select left('mingyue-s2',length('mingyue-s2') - 3);+---------------------------------------------+| left('mingyue-s2',length('mingyue-s2') - 3) |+---------------------------------------------+| mingyue |+---------------------------------------------+1 row in set (0.00 sec)