在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 編輯過 |
關鍵字查詢
相關文章
正在查詢... |