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

sch*_*har 63 sql oracle replace

我期待替换特定列中的值.例如,以下列值

column name
----------
Test1
Test2
Test3
Test12
Run Code Online (Sandbox Code Playgroud)

应(替换est1rest1)

column name
----------
Trest1
Test2
Test3
Trest12
Run Code Online (Sandbox Code Playgroud)

OMG*_*ies 173

使用REPLACE:

SELECT REPLACE(t.column, 'est1', 'rest1')
  FROM MY_TABLE t
Run Code Online (Sandbox Code Playgroud)

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

UPDATE MY_TABLE t
   SET column = REPLACE(t.column, 'est1', 'rest1')
Run Code Online (Sandbox Code Playgroud)

  • 在Oracle中,这应该是UPDATE t,而不是UPDATE TABLE t. (13认同)
  • @Tom大概'TABLE'在这里用作虚构的表名('t'是别名).select语句也从类似命名的虚构表中获取值. (7认同)

Bab*_*emi 19

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

UPDATE TABLE-NAME SET COLUMN-NAME = REPLACE(TABLE-NAME.COLUMN-NAME, 'STRING-TO-REPLACE', 'REPLACEMENT-STRING');
Run Code Online (Sandbox Code Playgroud)

哪里

  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
Run Code Online (Sandbox Code Playgroud)