SQL SERVER將某一列字段中的某個值替換為其他的值
update 表名 set 列名 = REPLACE( 列名 ,'aa','bb')
SQL SERVER"函數 replace 的參數 1 的數據類型 ntext 無效"解決辦法
UPDATE 表名 SET 列名= REPLACE(CAST 列名 AS varchar(8000)),'aa','bb')
用replace啊。核心思想是將',1,'替換成',11,12,13,14,15,16,'。考慮到1可能出現在開頭或末尾,將原字符串的開頭和末尾都加上逗號。這樣就可以統一替換了。替換完畢,再去掉開頭和結尾的逗號。
create table v (VHCL_RANGE_CODE varchar(100));insert into v select '8,1,3,21,22,9,23,61,51,41' union allselect '8,22,9,23,61,51,41,1,3,21' union allselect '1,21,22,23,3,41,42,43,51,52,61,8,9' union allselect '3,4,5,6,1' --加上這條測試一下1在末尾的情況 --前後各加一個逗號後,進行替換update v set VHCL_RANGE_CODE=replace(','+VHCL_RANGE_CODE+',',',1,',',11,12,13,14,15,16,');--去除前後的逗號update v set VHCL_RANGE_CODE=substring(VHCL_RANGE_CODE,2,len(VHCL_RANGE_CODE)-2)替換後的結果:
看你的數據庫如果是access就沒辦法了
sql server的話
update a set x = REPLACE(x,'a','b');
假設:
x中原內容為ababababab
執行後變為為bbbbbbbbbb