在MySQL、SQL Server、Oracle、Postgre等不同数据库中如何用SQL将字符串字段进行换行拼接?
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
你在工作中是否也有遇到这样的需求?比如将数据库中的姓名和地址合并展示,但挤在一行太杂乱或者太长? 今天分享这篇文章,主要是我在工作中遇到了一个图表可视化的问题,为了实现更加美观的效果,我需要将数据中的两个字段进行拼接,并且能够分行展示。 假设有一张客户信息表data_learning.user_info(案例建表语句见文末附录),包含以下字段:
你希望将这两个字段合并为一列,并在中间插入换行符,效果如下: 林赛 浙江省杭州市 原始报表如下:
1. MySQL 使用CONCAT函数 + CHAR(10)表示换行符:
查询结果如下:
未显示换行的原因:大部分 SQL 客户端(如 MySQL Workbench、命令行)默认不渲染换行符为实际换行,而是显示为空格或特殊符号(如 ↵) 解决方法:导出数据到文件查看换行。将查询结果导出为文本文件(如 CSV),用支持换行的编辑器(Notepad++、VS Code)打开:
下面不同数据库可能也会遇到上述相似的问题,导出文件查看即可。
2.PostgreSQL 用 || 连接符+E'\n'直接表示换行符:
查询结果如下: 看着只有一个姓名,但是只要双击结果行,就能看到完整的换行后的结果:
换行符需用CHAR(13)+CHAR(10)(兼容Windows系统):
用||连接符和CHR(10):
如需进一步了解字符串拼接函数,可以查看之前分享的文章:SQL常用字符串处理函数及案例。 附录 本文案例表建表语句:
该文章在 2025/4/1 11:36:55 编辑过 |
关键字查询
相关文章
正在查询... |