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

Oracle环境下使用TRANSLATE替换SQL换行符的语法咨询

Oracle TRANSLATE 函数替换换行符使用说明

核心语法规则

TRANSLATE 函数的通用语法结构如下:

TRANSLATE( target_string, characters_to_replace, replacement_characters )

参数说明:

  • 第一个参数 target_string:待处理的原始字符串/表字段
  • 第二个参数 characters_to_replace:需要被替换的所有字符的集合
  • 第三个参数 replacement_characters:和第二个参数一一对应的替换字符集合,若留空则匹配到的字符会被直接删除

针对替换 CHR(10) 换行符的实际用法

场景1:直接删除所有换行符

如果你需要完全移除字段中的换行符,写法如下:

TRANSLATE(你的字段名, CHR(10), '')

针对你提到的Oracle系统目录存储默认值追加换行的场景,查询清理后的列默认值示例:

SELECT
  COLUMN_NAME,
  TRANSLATE(DATA_DEFAULT, CHR(10), '') AS CLEANED_DEFAULT_VALUE
FROM USER_TAB_COLUMNS
WHERE TABLE_NAME = '你要查询的表名';

场景2:将换行符替换为其他字符

如果需要把换行符替换为空格、逗号等其他字符,调整第三个参数即可,比如替换为空格:

TRANSLATE(你的字段名, CHR(10), ' ')

扩展场景:同时清理回车+换行符

部分场景下数据可能同时存在换行符CHR(10)和回车符CHR(13),可以一次性处理:

-- 同时删除回车和换行
TRANSLATE(你的字段名, CHR(10)||CHR(13), '')

注意事项

  • TRANSLATE 是全局单字符匹配,会自动替换原始字符串中所有匹配到的字符,不需要额外配置全局匹配规则
  • 相比于REPLACE函数,单字符替换场景下TRANSLATE的性能更优,适合批量处理报表数据

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 00:24:00