我目前在 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')
例如,我是否可以一口气完成这项工作
UPDATE TABLE1
SET
COLUMN1 = REPLACE(COLUMN1, 'XYZ', 'SR3'),
COLUMN1 = REPLACE(COLUMN1, '789', 'SR4')
最佳答案
您可以嵌套 replace()
调用:
UPDATE TABLE1
SET COLUMN1 = REPLACE(REPLACE(REPLACE(REPLACE(COLUMN1, 'ABC', 'SR1'), '123', 'SR2'), 'XYZ', 'SR3'), '789', 'SR4');
Oracle 还提供 regexp_replace()
.您可能会发现这对您的某些数据转换很方便。
关于sql - 对 Oracle 数据库列执行多个替换操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49820900/