jdm*_*eon 2 sql string oracle performance
我目前在Oracle数据库列中有一堆字符串需要更改,现在我正在运行多个更新语句来完成此操作。
UPDATE TABLE1 SET COLUMN1 = REPLACE
(COLUMN1, 'ABC', 'SR1')
UPDATE TABLE1 SET COLUMN1 = REPLACE
(COLUMN1, '123', 'SR2')
UPDATE TABLE1 SET COLUMN1 = REPLACE
(COLUMN1, 'XYZ', 'SR3')
UPDATE TABLE1 SET COLUMN1 = REPLACE
(COLUMN1, '789', 'SR4')
Run Code Online (Sandbox Code Playgroud)
无论如何,例如,我是否一劳永逸地完成此任务
UPDATE TABLE1
SET
COLUMN1 = REPLACE(COLUMN1, 'XYZ', 'SR3'),
COLUMN1 = REPLACE(COLUMN1, '789', 'SR4')
Run Code Online (Sandbox Code Playgroud)
您可以嵌套replace()调用:
UPDATE TABLE1
SET COLUMN1 = REPLACE(REPLACE(REPLACE(REPLACE(COLUMN1, 'ABC', 'SR1'), '123', 'SR2'), 'XYZ', 'SR3'), '789', 'SR4');
Run Code Online (Sandbox Code Playgroud)
Oracle还提供regexp_replace()。您可能会发现一些数据转换很方便。