Mysql中的几个连接字符串函数用法
最近完成项目的过程中接触到一个关于列转行的问题,因为没什么思路所以上面查了下,大部分都是关于连接字符串函数的,之前也不了解这几个函数,了解后觉得值得记录下来和大家分析一下。
用来连接字符串的函数:CONCAT、CONCAT_WS、GROUP_CONCAT
1. CONCAT:就是直接把需要连接的字段给到它,使用方法:CONCAT(str,’,’,str1,…)。执行效果如下:
需要注意的是:使用CONCAT函数连接字符串,只要其中有NULL出现,则将会返回为NULL。如:
2. CONCAT_WS:是CONCAT的特殊版,使用CONCAT连接字符串是需要自己加分隔符的,但是如果使用CONCAT连接多个字符串就需要在每个字符串之间加分隔符,这样非常麻烦。从而就有了CONCAT_WS的出现,它给我们提供了设置分隔符的参数(Separator),分隔符可以是一个字符串也可以是其他参数,但是不能为NULL,如果分隔符为空那么结果将会返回NULL。而且他会自动忽略任何分隔符参数后的NULL值,为NULL的数据不会进行拼接。使用方法:CONCAT_WS(separator,str,str1,NULL,…)。执行效果如下:
3. GROUP_CONCAT:看到GROUP应该就能想到分组,没错这个函数就是在CONCAT的基础上进行了分组,我想网上所说的列转行应该就是使用这个函数来实现的。它的使用方法:
GROUP_CONCAT([DISTINCT] str,str1,… [Order BY ASC/DESC 排序字段] [Separator ‘分隔符’])。
[]中的语句代表可选,分隔符不写默认是以逗号分隔。其实使用这个函数就基本没必要去连接多个字符串了,他会按你设置好的分组情况把每组的需要连接的字符串连接起来,查询效果跟列转行差不多。执行效果如下:
先看看基本查询的数据:
然后是GROUP_CONCAT后的数据:
注意:一定要进行分组,否则只会出现一条数据,连接的结果是所有数据的要连接的字段数据都连接到了一起。
- Mysql6.0连接中的几个问题 Mysql6.xx
- PHP数据库长连接mysql_pconnect用法
- mysql外连接查询用法
- concat和concat_ws()区别及MySQL的几个实用字符串函数
- mysql字符串连接,重复等字符串函数总结
- mysql字符串函数left、right、substr、instr用法
- concat和concat_ws()区别及MySQL的几个实用字符串函数【转】
- Mysql6.0连接中的几个问题
- PHP数据库连接mysql与mysqli的区别与用法
- python3.2.5 + mysql-connector-python-1.2.2-py3.2 连接mysql基本用法
- 不能用IP连接Mysql的几个原因
- MySQL 几个比较重要的用法总结
- node.js连接mysql与基本用法示例
- mysql字符串连接,重复等字符串函数总结
- MySQL的几个实用字符串函数 (转)
- PHP数据库连接mysql与mysqli的区别与用法
- MySQL的行转列、列转行、连接字符串 concat、concat_ws、group_concat函数用法
- Mysql6.0连接中的几个问题
- win7的python连接mysql用法
- mysql 字符串连接 concat、gropu_concat用法