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

Oracle SQL去除字符串首尾换行符的正则表达式方案咨询

嗨,这问题我之前也碰到过!你需要的是只移除字符串首尾的换行符,保留中间正常的换行,对吧?用REPLACE会把所有换行都干掉,肯定不行,咱们换个思路用TRIM函数就搞定了。

Oracle的TRIM函数支持指定要修剪的字符,你可以明确告诉它只去掉首尾的换行符(CHR(10)),甚至还能顺便处理回车符(CHR(13)——有时候文本里会是CRLF组合)。

给你写个直接能用的查询示例:

-- 只修剪首尾的换行符
SELECT TRIM(BOTH CHR(10) FROM a1) AS cleaned_text
FROM (
    SELECT '
Sample Text
New value
' AS a1 FROM dual
);

如果你的文本首尾可能同时有空格、换行、回车,还可以把这些字符都加到修剪集合里,一次性处理干净:

-- 同时修剪首尾的空格、换行、回车
SELECT TRIM(BOTH ' ' || CHR(10) || CHR(13) FROM a1) AS cleaned_text
FROM (
    SELECT '
 Sample Text
 New value
 ' AS a1 FROM dual
);

这个方法的好处是:只会移除字符串开头和结尾连续的目标字符,中间的换行、空格完全保留,完美匹配你的需求~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:49:32