sql - Oracle:从字符串中删除某些字符
问题描述
我们必须使用 SQL 或 PL/SQL 从 VARCHAR2 和 CLOB 数据类型中删除某些字符并加载到目标表中。
Oracle 中有一些可用的函数(例如 REGEXP_REPLACE 或 SUBSTR)可以使用。
但是,我们有大量的数据。
如果我们将数据提取到 Linux 主机并结合使用 TR ( /bin/tr ) 和 Oracle External Files 会更快吗?
解决方案
我通常使用TRANSLATE
(参见:https ://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/TRANSLATE.html#GUID-80F85ACB-092C-4CC7-91F6-B3A585E3A690 )从一个字符串。但这在一定程度上取决于您要删除多少个字符。
以下示例旨在说明这一点。从输入字符串中删除字符“ D
”和“ ”。E
SELECT TRANSLATE('ABCDEFG', '_DE', '_') FROM DUAL;
它返回“ ABCFG
”。
' ABCDEFG
' 是输入字符串。' _DE
' 表示 ' D
' 和 ' E
' 被删除。
推荐阅读
- android - 如何以编程方式触发低电量屏幕
- python - 将 DICOM 数据加载到 numpy 错误
- angular - Angular 7 和 Phantom JS:没有任何浏览器的 Jenkins 上的 0 个测试中的 0 个
- swift - 具有 IBInspectable 颜色属性的子类 - 无法覆盖
- visual-studio-2017 - 我无法将 Windows SDK 版本更改为 10.0.17763.0 ,当我单击应用时它只是重置回 8.1
- python - Spyder 是唯一具有适当变量资源管理器的 Python IDE 吗?
- ios - 单击以打开 url 时如何修复“结构”以包含 UIButton?
- php - 使用 PHPExcel 读取 Excel 并使用 MeekroDB 插入数组
- javascript - 使用单选按钮在 javascript 中编写代码并使用 if else 循环来计算简单和/或复利
- kotlin - 如何将依赖项添加到 kotlin 库?