我有一个table 1
,我必须使用table 2
中的数据替换列中的某些数据。
Table 1
A | B
-----------------------------
Test A1 | 123SOMETEXT
Test A2 | 456OTHERTEXT
Test A3 | 789MORETEXT
Table 2
B_old | B_new
-----------------------------
123 | ABC
456 | DEF
789 | GHI
使用此示例,我必须使用123SOMETEXT
替换B
的{{1}}列中的table 1
,依此类推。我怎么能这样做?
答案 0 :(得分:3)
这应该有效:
update t1 set B = replace(B, cast(t2.B_old as varchar(10)), c2.B_new)
from Table1 t1
join Table2 t2 on t1.B like cast(t2.B_old as varchar(10)) + '%'