现在的位置: 首页 > 综合 > 正文

MySQL中字符串字段连接

2013年09月05日 ⁄ 综合 ⁄ 共 1578字 ⁄ 字号 评论关闭

1、Concat()函数
    1.1 MySQL的concat函数可以连接一个或者多个字符串
,
        mysql
> select concat('10');
        +--------------+
        |
concat('10') |
        +--------------+
        |
10           |
        +--------------+
       
1 row in set (0.00 sec)

       mysql> select concat('11','22','33');
        +------------------------+
        |
concat('11','22','33') |
        +------------------------+
        |
112233                 |
        +------------------------+

       1 row in set (0.00 sec)

       而Oracle的concat函数只能连接两个字符串

        SQL> select concat('11','22') from dual;

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

        mysql> select concat('11','22',null);
        +------------------------+
        |
concat('11','22',null) |
        +------------------------+
        |
NULL                   |
        +------------------------+
       
1 row in set (0.00 sec)

       而Oracle的concat函数连接的时候,只要有一个字符串不是NULL,就不会返回NULL

        SQL> select concat('11',NULL) from dual;
       
CONCAT
       
--
       
11

2、concat_ws()函数, 表示concat with separator,即有分隔符的字符串连接
    如连接后以逗号分隔
        mysql
> select concat_ws(',','11','22','33');

        +-------------------------------+
        | concat_ws(',','11','22','33') |
        +-------------------------------+
        |
11,22,33                      |
        +-------------------------------+
       
1 row in set (0.00 sec)

   和concat不同的是, concat_ws函数在执行的时候,不会因为NULL值而返回NULL
        mysql
> select concat_ws(',','11','22',NULL);
        +-------------------------------+
        |
concat_ws(',','11','22',NULL) |
        +-------------------------------+
        |
11,22                         |
        +-------------------------------+
       
1 row in set (0.00 sec)

抱歉!评论已关闭.