mysql拼接字符串函数
MySQL 拼接字符串函数 MySQL 中有三个常用的字符串拼接函数:CONCAT、CONCAT_WS 和 GROUP_CONCAT。这些函数都可以用来将多个字符串连接起来,但是它们的使用场景和效果不同。 CONCAT 函数 CONCAT 函数的语法是 `CONCAT(str1, str2, …)`,它可以将多个字符串连接起来。例如: ```sql SELECT CONCAT(name, age) AS result FROM user_info; ``` 结果: | result | | --- | | Ana27 | | Ame24 | | Clid24 | | Dave24 | | Eva24 | 可以看到,CONCAT 函数将每行的 name 和 age 字段连接起来,形成一个新的字符串。 CONCAT_WS 函数 CONCAT_WS 函数的语法是 `CONCAT_WS(separator, str1, str2, …)`,它可以将多个字符串连接起来,并且可以指定连接符。例如: ```sql SELECT CONCAT_WS(':', name, age) AS result FROM user_info; ``` 结果: | result | | --- | | Ana:27 | | Ame:24 | | Clid:24 | | Dave:24 | | Eva:24 | 可以看到,CONCAT_WS 函数将每行的 name 和 age 字段连接起来,并且使用冒号作为连接符。 GROUP_CONCAT 函数 GROUP_CONCAT 函数的语法是 `GROUP_CONCAT(expr)`,它可以将多行数据聚合成一行。例如: ```sql SELECT GROUP_CONCAT(name) AS result FROM user_info; ``` 结果: | result | | --- | | Ana,Ame,Clid,Dave,Eva | 可以看到,GROUP_CONCAT 函数将所有行的 name 字段聚合成一个字符串。 如果你想要按照某个字段进行分组聚合,可以使用 GROUP BY 子句。例如: ```sql SELECT GROUP_CONCAT(name) AS result, age FROM user_info GROUP BY age; ``` 结果: | result | age | | --- | --- | | Ame,Clid,Dave,Eva | 24 | | Ana | 27 | 可以看到,GROUP_CONCAT 函数将每个 age 值对应的 name 字段聚合成一个字符串。 这三个函数都可以用来拼接字符串,但是它们的使用场景不同。CONCAT 和 CONCAT_WS 函数通常用于将多个字符串连接起来,而 GROUP_CONCAT 函数则用于将多行数据聚合成一行。