合并字符串函数

concat()函数会将传入的参数连接起来返回合并的字符串类型的数据。如果其中一个参数为null,则返回值为null。

concat_ws()函数与concat()相比,多了一个表示分隔符的seq参数,不仅将传入的其他参数连接起来,而且还会通过分隔符将各个字符串分割开来。分隔符可以是一个字符串,也可以是其他参数。如果分隔符为null,则返回结果为null。函数会忽略任何分隔符后的参数null。

mysql> select concat('huang','lao','shi'),concat('huang','lao','shi',null);
+-----------------------------+----------------------------------+
| concat('huang','lao','shi') | concat('huang','lao','shi',null) |
+-----------------------------+----------------------------------+
| huanglaoshi                 | NULL                             |
+-----------------------------+----------------------------------+
1 row in set (0.01 sec)

mysql> select concat(curdate(),12.2);
+------------------------+
| concat(curdate(),12.2) |
+------------------------+
| 2023-06-2712.2         |
+------------------------+
1 row in set (0.00 sec)

mysql> select concat_ws('-','020','83378683');
+---------------------------------+
| concat_ws('-','020','83378683') |
+---------------------------------+
| 020-83378683                    |
+---------------------------------+
1 row in set (0.00 sec)

mysql> select concat('-','020','83378683');
+------------------------------+
| concat('-','020','83378683') |
+------------------------------+
| -02083378683                 |
+------------------------------+
1 row in set (0.00 sec)

mysql> select concat_ws('-','020','83378683','83378683');
+--------------------------------------------+
| concat_ws('-','020','83378683','83378683') |
+--------------------------------------------+
| 020-83378683-83378683                      |
+--------------------------------------------+
1 row in set (0.00 sec)

mysql> select concat_ws(null,'020','83378683'),concat_ws('-','020',null,'8337868
3');
+----------------------------------+--------------------------------------+
| concat_ws(null,'020','83378683') | concat_ws('-','020',null,'83378683') |
+----------------------------------+--------------------------------------+
| NULL                             | 020-83378683                         |
+----------------------------------+--------------------------------------+
1 row in set (0.00 sec)

mysql> select concat_ws('/','83378683');
+---------------------------+
| concat_ws('/','83378683') |
+---------------------------+
| 83378683                  |
+---------------------------+
1 row in set (0.00 sec)

mysql> select concat_ws('+','83378683');
+---------------------------+
| concat_ws('+','83378683') |
+---------------------------+
| 83378683                  |
+---------------------------+
1 row in set (0.00 sec)

mysql> select concat_ws('/','83378683','83378683');
+--------------------------------------+
| concat_ws('/','83378683','83378683') |
+--------------------------------------+
| 83378683/83378683                    |
+--------------------------------------+
1 row in set (0.00 sec)

mysql> select concat_ws('/','020','83378683');
+---------------------------------+
| concat_ws('/','020','83378683') |
+---------------------------------+
| 020/83378683                    |
+---------------------------------+
1 row in set (0.00 sec)

mysql> select concat_ws('or','010','83378683','83378683');
+---------------------------------------------+
| concat_ws('or','010','83378683','83378683') |
+---------------------------------------------+
| 010or83378683or83378683                     |
+---------------------------------------------+
1 row in set (0.00 sec)

mysql> select concat_ws('abc','010','83378683');
+-----------------------------------+
| concat_ws('abc','010','83378683') |
+-----------------------------------+
| 010abc83378683                    |
+-----------------------------------+
1 row in set (0.00 sec)

mysql> select concat_ws('--','010','83378683','83378683');
+---------------------------------------------+
| concat_ws('--','010','83378683','83378683') |
+---------------------------------------------+
| 010--83378683--83378683                     |
+---------------------------------------------+
1 row in set (0.00 sec)

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注