我的表格如下
create table myTable (id int,
col1 varchar(20),
col2 varchar(20),
col3 varchar(20),
col4 varchar(20),
col5 varchar(20),
col6 varchar(20),
col7 varchar(20),
col8 varchar(20),
col9 varchar(20)
);
并将数据作为
insert into myTable values
(1, 'col1','col2','col3','col4','col5','col6','col7','col8','col9');
我想要的是输出
id + AllInOne
++++++++++++++++++++++++++++++++++++++++++++++++++
1 + col1-col2-col3-col4-col5-col6-col7-col8-col9
++++++++++++++++++++++++++++++++++++++++++++++++++
知道如何用最小的查询完成这项工作吗?我知道我可以使用CONCATENATE进行上述操作。但我需要的是另一种方式。也许是一些预定义的MySQL函数?
答案 0 :(得分:0)
使用CONCAT_WS连接字符串(跳过空字符串)和分隔符:
SELECT id, CONCAT_WS('-', col1, col2, col3, col4, col5, col6, col7, col8, col9)
FROM your_table
答案 1 :(得分:0)
这将完全按照您的意愿返回输出:
SELECT CONCAT(id,' + ', col1,'-',col2,'-',col3,'-',col4,'-',col5,'-',col6,'-',col7,'-',col8,'-',col9) FROM `your_table` WHERE id = 1