MySQL字符串连接函数用法简介


  本文标签:MySQL字符串连接函数

  MySQL字符串连接函数是我们很常用的函数,下面就为您详细介绍MySQL字符串连接函数的用法,希望可以让您对MySQL字符串连接函数有更多的了解  。

  使用方法:
CONCAT(str1,str2,…) 

  返回结果为连接参数产生的字符串  。如有任何一个参数为NULL ,则返回值为 NULL  。

  注意:
如果所有参数均为非二进制字符串,则结果为非二进制字符串  。
如果自变量中含有任一二进制字符串,则结果为一个二进制字符串  。
一个数字参数被转化为与之相等的二进制字符串格式;若要避免这种情况,可使用显式类型 cast, 例如:
SELECT CONCAT(CAST(int_col AS CHAR), char_col)

  MySQL的concat函数可以连接一个或者多个字符串,如

  1. mysql> select concat(10);  
  2. +--------------+  
  3. | concat(10) |  
  4. +--------------+  
  5. | 10   |  
  6. +--------------+  
  7. 1 row in set (0.00 sec)  
  8.  
  9. mysql> select concat(11,22,33);  
  10. +------------------------+  
  11. | concat(11,22,33) |  
  12. +------------------------+  
  13. | 112233 |  
  14. +------------------------+  
  15. 1 row in set (0.00 sec)  
  16.  

  MySQL的concat函数在连接字符串的时候,只要其中一个是NULL,那么将返回NULL

  1. mysql> select concat(11,22,null);  
  2. +------------------------+  
  3. | concat(11,22,null) |  
  4. +------------------------+  
  5. | NULL   |  
  6. +------------------------+  
  7. 1 row in set (0.00 sec)  

  MySQL中concat_ws函数
使用方法:
CONCAT_WS(separator,str1,str2,...)

  CONCAT_WS() 代表 CONCAT With Separator ,是CONCAT()的特殊形式  。第一个参数是其它参数的分隔符  。分隔符的位置放在要连接的两个字符串之间  。分隔符可以是一个字符串,也可以是其它参数  。
注意:
如果分隔符为 NULL,则结果为 NULL  。函数会忽略任何分隔符参数后的 NULL 值  。

  如连接后以逗号分隔

  1. mysql> select concat_ws(,,11,22,33);  
  2.  
  3. +-------------------------------+  
  4. | concat_ws(,,11,22,33) |  
  5. +-------------------------------+  
  6. | 11,22,33 |  
  7. +-------------------------------+  
  8. 1 row in set (0.00 sec)  
  9.  

  和MySQL中concat函数不同的是, concat_ws函数在执行的时候,不会因为NULL值而返回NULL

  1. mysql> select concat_ws(,,11,22,NULL);  
  2. +-------------------------------+  
  3. | concat_ws(,,11,22,NULL) |  
  4. +-------------------------------+  
  5. | 11,22 |  
  6. +-------------------------------+  
  7. 1 row in set (0.00 sec)