需求是要修改Oracle某列表中把這一列中全部的100換成200;
update b_nodes a set a.childs=replace((select childs from b_nodes b where b.nodeid=a.nodeid),'100','200') where a.childs>10005
以下為轉載http://www.cnblogs.com/BetterWF/archive/2011/12/21/2295937.html謝謝
replace 函數用法如下:
replace('將要更改的字符串','被替換掉的字符串','替換字符串')
例:select replace ('111222333444','222','888') from dual;
輸出為 '111888333444'
今天往Oracle 中導入數據時,有一個列導入的數據應該時‘2011-10-11’ 的格式,結果導入的數據為 ‘2011/10/11’格式的,5000多條記錄要一條條改基本不可能。 后來想到了replace這個函數,具體用法如下:
update 表1 t set t.列1=replace((select 列1from 表1 a where a.主鍵列=t.主鍵列) , '/' , '-' ) 解決了我們問題。