在MySQL、SQL Server、Oracle、Postgre等不同數(shù)據(jù)庫中如何用SQL將字符串字段進(jìn)行換行拼接?
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
你在工作中是否也有遇到這樣的需求?比如將數(shù)據(jù)庫中的姓名和地址合并展示,但擠在一行太雜亂或者太長? 今天分享這篇文章,主要是我在工作中遇到了一個(gè)圖表可視化的問題,為了實(shí)現(xiàn)更加美觀的效果,我需要將數(shù)據(jù)中的兩個(gè)字段進(jìn)行拼接,并且能夠分行展示。 假設(shè)有一張客戶信息表data_learning.user_info(案例建表語句見文末附錄),包含以下字段:
你希望將這兩個(gè)字段合并為一列,并在中間插入換行符,效果如下: 林賽 浙江省杭州市 原始報(bào)表如下:
1. MySQL 使用CONCAT函數(shù) + CHAR(10)表示換行符:
查詢結(jié)果如下:
未顯示換行的原因:大部分 SQL 客戶端(如 MySQL Workbench、命令行)默認(rèn)不渲染換行符為實(shí)際換行,而是顯示為空格或特殊符號(hào)(如 ?) 解決方法:導(dǎo)出數(shù)據(jù)到文件查看換行。將查詢結(jié)果導(dǎo)出為文本文件(如 CSV),用支持換行的編輯器(Notepad++、VS Code)打開:
下面不同數(shù)據(jù)庫可能也會(huì)遇到上述相似的問題,導(dǎo)出文件查看即可。
2.PostgreSQL 用 || 連接符+E'\n'直接表示換行符:
查詢結(jié)果如下: 看著只有一個(gè)姓名,但是只要雙擊結(jié)果行,就能看到完整的換行后的結(jié)果:
換行符需用CHAR(13)+CHAR(10)(兼容Windows系統(tǒng)):
用||連接符和CHR(10):
如需進(jìn)一步了解字符串拼接函數(shù),可以查看之前分享的文章:SQL常用字符串處理函數(shù)及案例。 附錄 本文案例表建表語句:
該文章在 2025/4/1 11:36:55 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |