sql server中varchar型处理
表结构:
有两个表:A(ysdzt,zt) B(ysdzt),其中ysdzt是varchar(60) zt是int,且A中数据明显多于B中
需求:
现我要更改A中zt字段,条件是ysdzt是B中的。
我用的语句是:
update A set zt=8 where ysdbh in(select ysdbh from B with(nolock))
update A set zt=8 where ysdbh in(select ysdbh from B with(nolock) COLLATE Chinese_PRC_CI_AS)
[解决办法]
-->tryupdate A set zt=8 where ysdbh COLLATE Chinese_PRC_CI_AS in(select ysdbh from B with(nolock))--orupdate A set zt=8 where ysdbh COLLATE Chinese_PRC_CI_AI in(select ysdbh from B with(nolock))
[解决办法]
update Aset zt = 8from bwhere ysdzt = B.ysdzt