如何替换 Oracle 数据库列中的特定值?

我希望替换特定列中的值

column name
----------
Test1
Test2
Test3
Test12

应为(以 rest1代替 est1)

column name
----------
Trest1
Test2
Test3
Trest12
473261 次浏览

使用 更换:

SELECT REPLACE(t.column, 'est1', 'rest1')
FROM MY_TABLE t

如果要更新表中的值,请使用:

UPDATE MY_TABLE t
SET column = REPLACE(t.column, 'est1', 'rest1')

如果需要更新特定表中的值:

UPDATE TABLE-NAME SET COLUMN-NAME = REPLACE(TABLE-NAME.COLUMN-NAME, 'STRING-TO-REPLACE', 'REPLACEMENT-STRING');

哪里

  TABLE-NAME         - The name of the table being updated
COLUMN-NAME        - The name of the column being updated
STRING-TO-REPLACE  - The value to replace
REPLACEMENT-STRING - The replacement

我使用的是 Version 4.0.2.15和 Build 15.21

对我来说,我需要这个:

UPDATE table_name SET column_name = REPLACE(column_name,"search str","replace str");

t.column_name放在 replace的第一个参数中不起作用。

在 Oracle 中,有模式名的概念,所以请尝试使用这个

update schemname.tablename t
set t.columnname = replace(t.columnname, t.oldvalue, t.newvalue);