㈠ sql替換語句怎麼寫
--子查詢寫法
Updateaset欄位1=(select欄位2frombwherea.欄位3=b.欄位4)
--自連接寫法
Updateaset欄位1=b.欄位2frombwherea.欄位3=b.欄位4
案例如下:
--字查詢寫法
Updatecrm_account a seta.account_principal=(select b.field4 Fromcrm_mole_6 b where a.account_name=b.field1)
--自連接寫法
Updatecrm_account a seta.account_principal=b.field4 Fromcrm_mole_6 b where a.account_name=b.field1
如有問題可以追問,我當及時回答.
希望能幫到你!
㈡ SQL查詢結果替換
select * from 表 where 欄位 like '%+%'
--查詢某個欄位里是否有結果包含'+'的
update 表 set 欄位 = replace(欄位,'+','') where 欄位 like '%+%'
--更新上句查詢出來了。若有多個欄位,且你不確定'+'出現的欄位,可每個欄位分別執行這兩句。
㈢ sql 如何替換欄位內容
很簡單,如果你這些代碼值不是很多的話可以使用 DECODE或者 CASE....WHEN....更新一下。例如:
如果你的設備種類比較多的可以過濾過來:
1、SELECT * FROM 表名 WHERE REGEXP_LIKE(TYPE_NAME,'設備$');
2、然後看上面的結果完成下面語句,再執行更新
UPDATE 表名
SET PARENT_TYPEID=(CASE PARENT_TYPEID
WHEN 161 THEN '信息設備'
WHEN 3300 THEN '分析輔助設備'
WHEN 1053 THEN '分析設備'
END);
㈣ sql 替換表
給你四種方法,安全可靠
有資料庫a和資料庫b,資料庫a里有表table1,資料庫b里有表table2.
現在要把表table1里的記錄復制到table2中,不同情況採用不同方法:
1. table1和table2表結構相同
use b
insert into table2 select * from a.dbo.table1
2. table1和table2表結構不相同
use b
insert into table2(c1,c2) select c1,c2 from a.dbo.table1
coolxiaoyi:c1,c2為需要復制的列。
3. 如果還沒有創建表table2,可以直接將table1的表結構和記錄都復制到資料庫b中
use b
select * into table2 from a.dbo.table1
coolxiaoyi:這樣做有一個問題,就是有時主外鍵關系不能復制過去(不知道什麼原因),需要在執行完sql語句後自己再設置一下主外鍵。
4. 注意table2中是否有自增長欄位
如果有自增長欄位,使用以上sql語句時會報錯:僅當使用了列列表並且 IDENTITY_INSERT 為 ON 時,才能為表'table2'中 的標識列指定顯式值。
coolxiaoyi:可以先修改table2表,去掉自增長標識,復制完記錄後再修改回來。
或者用2.中的sql語句,不復制自增長欄位,復制其他欄位。
㈤ sql怎麼批量替換欄位里的字元串的
方法一:
varchar和nvarchar類型是支持replace,所以如果你的text不超過8000可以先轉換成前面兩種類型再使用replace 替換 text ntext 數據類型欄位的語句 。
update表名set欄位名=replace(cast(與前面一樣的欄位名asvarchar(8000)),'原本內容','想要替換成什麼')
方法二:
update[表名]set欄位名=replace(與前面一樣的欄位名,'原本內容','想要替換成什麼')
㈥ sql語句中的替換怎麼寫
樓主已經說了,單純的用replace()不行的,我這有個辦法,如果樓主這個欄位的形式比較固定,比如:
都是XXX-123456789-123就是相同的位都是"-",那麼可以這樣寫SQL語句:
update table_name set fields = substring(fields,1,4)+relace(substring(fields,5,len(fields)),'-','***')
這樣就可以只替換後面的"-"符號了。
㈦ sql替換語句
update a set b=replace(b,'cc','dd') where charindex('cc',b)>0