Mysql 用特殊字符分隔的一列中的所有列数据-

Mysql 用特殊字符分隔的一列中的所有列数据-,mysql,Mysql,我有如下表格 create table myTable (id int, col1 varchar(20), col2 varchar(20), col3 varchar(20), col4 varchar(20), col5 varchar(20), col6 varchar(2

我有如下表格

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函数

使用,它使用分隔符连接字符串(跳过空字符串):

SELECT id, CONCAT_WS('-', col1, col2, col3, col4, col5, col6, col7, col8, col9)
FROM your_table

这将返回与您想要的完全相同的输出:

SELECT CONCAT(id,' + ', col1,'-',col2,'-',col3,'-',col4,'-',col5,'-',col6,'-',col7,'-',col8,'-',col9) FROM `your_table` WHERE id = 1

看起来很可爱…:)谢谢将在8分钟后接受回答,但我不想连续写
'-'
。我的演示链接中也有这个查询。。。