MySQL 选择,用分隔符连接

标签 mysql select concatenation

我的数据如下:

id   name   age   gender
1    abc          M

“年龄”值为空。

我想将列值与分隔符“\n”连接起来,如果某一列值为空,则也使用“\n”来表示它。

我尝试了concat_ws,但它只返回:

1\nabc\nM

我想要的是:

1\nabc\n\nM

也就是说,'abc' 之后应该有 2 个 '\n'。

如何才能达到我的要求?

最佳答案

您可能应该使用 ifnull(column_name,'') 将空列替换为空字符并尝试 concat_ws。

select concat_ws('\n',id,name,ifnull(age,''),gender) from table1; 

SQL fiddle 链接: http://sqlfiddle.com/#!2/12074/10

关于MySQL 选择,用分隔符连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27897199/

相关文章:

mysql - 这个查询可以在没有 ONION 的情况下重写吗?它是否可扩展?

mysql - 选择一列,按另一列分组 - ONLY_FULL_GROUP_BY

javascript - 有什么方法可以在 css 中设计一个看起来完全像 html 下拉菜单的菜单

ruby-on-rails - ActiveScaffold:如何为多态关联创建下拉选择?

mysql - '+' 附近的 SQL 语法不正确

python mysqldb删除行

php - Laravel4 - 处理整个应用程序和 mysql 之间的日期格式

mysql - 如何将联合引擎安装到我的 mariadb?

mysql - 在 CONCAT_WS 之前订购

C#如何连接2个MP4文件