如何使用SQL SELECT查询在字符"|"后实现换行?
实现
|后自动换行的SELECT查询方案 只需要用字符串替换函数,把原字段里所有的|替换为|+对应数据库的标准换行符就行,全程只做查询层的格式加工,不会改动原表存储的内容。
各数据库可直接套用的写法
- MySQL
用CHAR(10)生成标准换行符,示例代码:
注意:用Navicat、DBeaver这类客户端查看结果时,必须在结果面板开启「文本自动换行」,不然换行了也会挤成一整行显示。SELECT REPLACE(你的原字段, '|', CONCAT('|', CHAR(10))) AS 展示内容 FROM 你的表; - SQL Server
用Windows平台通用的CHAR(13)+CHAR(10)换行组合,示例代码:SELECT REPLACE(你的原字段, '|', '|' + CHAR(13) + CHAR(10)) AS 展示内容 FROM 你的表; - PostgreSQL
直接用转义换行常量E'\n'做替换,示例代码:SELECT REPLACE(你的原字段, '|', E'|\n') AS 展示内容 FROM 你的表; - Oracle
用内置函数CHR(10)生成换行符,示例代码:SELECT REPLACE(你的原字段, '|', '|' || CHR(10)) AS 展示内容 FROM 你的表;
避坑提示:别在替换字符串里硬敲肉眼可见的换行。不同数据库对裸换行的解析逻辑差异很大,轻则查询报错,重则返回乱码,用内置字符函数生成的换行符兼容性最稳。
内容的提问来源于stack exchange,提问作者Hoong wai kong
相关产品推荐
相关产品推荐

