You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle中实现VARCHAR2(300)列多行文本转单行显示

Oracle将VARCHAR2列多行文本转换为单行的SQL方案

嘿,针对你遇到的Oracle数据库中VARCHAR2(300)列多行文本转单行的需求,我整理了几个实用的SQL解决办法,直接就能用:

方法一:用REPLACE函数替换换行/回车符

这是最基础的写法,直接把文本里的换行(CHR(10))和回车(CHR(13))字符替换成空格,就能把多行合并成单行:

SELECT 
    ID,
    REPLACE(REPLACE(TEXT, CHR(10), ' '), CHR(13), ' ') AS TEXT
FROM 
    your_table_name;

提示:记得把your_table_name换成你实际的表名哦

方法二:用正则表达式简化替换

如果觉得嵌套REPLACE麻烦,可以用REGEXP_REPLACE一次性匹配所有换行和回车字符,写法更简洁:

SELECT 
    ID,
    REGEXP_REPLACE(TEXT, '['||CHR(10)||CHR(13)||']', ' ') AS TEXT
FROM 
    your_table_name;

方法三:处理连续空格(可选)

如果替换后出现多个连续空格,想要让文本更整洁,可以再加一层正则替换,把多个空格合并成单个:

SELECT 
    ID,
    REGEXP_REPLACE(
        REGEXP_REPLACE(TEXT, '['||CHR(10)||CHR(13)||']', ' '), 
        ' +', 
        ' '
    ) AS TEXT
FROM 
    your_table_name;

用这些SQL处理你给出的示例数据,就能得到你期望的单行显示结果啦!

内容的提问来源于stack exchange,提问作者Abdulrahim Elbassir

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 03:09:43