我正在尋找替換特定列中的值。例如,下面列的值如何替換oracle數據庫列中的特定值?
column name
----------
Test1
Test2
Test3
Test12
應(與rest1
更換est1
)
column name
----------
Trest1
Test2
Test3
Trest12
我正在尋找替換特定列中的值。例如,下面列的值如何替換oracle數據庫列中的特定值?
column name
----------
Test1
Test2
Test3
Test12
應(與rest1
更換est1
)
column name
----------
Trest1
Test2
Test3
Trest12
使用REPLACE:
SELECT REPLACE(t.column, 'est1', 'rest1')
FROM MY_TABLE t
如果要更新表中的值,使用:
UPDATE MY_TABLE t
SET column = REPLACE(t.column, 'est1', 'rest1')
在Oracle中,這應該是UPDATE t,而不是UPDATE TABLE t。 – 2016-03-30 08:53:01
@Tom據推測,'TABLE'在這裏用作虛構的表名(而't'是別名)。 select語句也從類似命名的虛構表中獲取值。 – nbrooks 2017-03-31 17:15:06
如果您需要更新特定表中的值:
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
我使用的版本4.0.2.15使用Build 15.21
對我來說,我需要這個:
UPDATE table_name SET column_name = REPLACE(column_name,"search str","replace str");
將t.column_name
置於fi replace
的第一個參數不起作用。
在Oracle中,有架構名稱的概念,所以請嘗試使用此
update schemname.tablename t
set t.columnname = replace(t.columnname, t.oldvalue, t.newvalue);
我看了一下搜索結果,發現那些使用替代從雙表中獲取的值。我期待更新表格而不是獲取值。 – schar 2010-08-09 18:47:58