concat函数,concat_ws函数,concat_group函数之间的区别
程序员文章站
2022-06-17 21:12:41
直接上干货:– 建表操作:-- 建表CREATE table 成绩表1(学号 VARCHAR(10),科目 VARCHAR(10),成绩 INTEGER)– 插入数据:INSERT into `成绩表` values -- 插入数据('001','计算机',99),('003','数学',99),('001','数学',99),('001','化学',88),('002','英语',96),('003','语文',76);SELECT * from 成绩表; -- 预览...
直接上干货:
– 建表操作:
-- 建表
CREATE table 成绩表1(
学号 VARCHAR(10),
科目 VARCHAR(10),
成绩 INTEGER
)
– 插入数据:
INSERT into `成绩表` values -- 插入数据
('001','计算机',99),
('003','数学',99),
('001','数学',99),
('001','化学',88),
('002','英语',96),
('003','语文',76);
SELECT * from 成绩表; -- 预览数据
cancat用法
# cancat用法:
SELECT CONCAT(`学号`,'-',科目,',',成绩) as tempt from `成绩表`;
# cancat用法:
SELECT CONCAT(`学号`,'-','科目',',',`成绩`) as tempt from `成绩表`;
CONCAT_WS用法
# CONCAT_WS用法:
SELECT CONCAT_WS(',',`学号`,`科目`,NULL,`成绩`) as temp FROM `成绩表`;
GROUP_CONCAT() 用法
# GROUP_CONCAT() 用法:
-- 1.单列多行合并单行单列展示
SELECT `学号`,GROUP_CONCAT(`科目`) as q ,GROUP_CONCAT(`成绩`ORDER BY `成绩` desc) p from `成绩表` group by `学号`;
-- 2.多列拼接,多列多行值合并成单行单列显示
SELECT GROUP_CONCAT(`学号`,`科目`) as groupby from `成绩表`;
SELECT `学号`
,GROUP_CONCAT(`科目`,`成绩`) as temt
from `成绩表` group by `学号`;
说明:测试工具mysql
1.concat函数在连接字符串的时候,只要其中一个是NULL,那么将返回NULL
2.concat_ws函数在连接字符串的时候,只要有一个字符串不是NULL,就不会返回NULL。concat_ws函数需要指定分隔符。
本文地址:https://blog.csdn.net/weixin_44976611/article/details/107316531