更新字段中一部分内容

南山明月 2008-09-03 01:11:53
有两张表字段如下:
表A
Code1 Code2
170 420000
17001 420100
1700101 420102
1700102 420103
1700201 420112
1700202 420113

表B
Code1 Name
170 a
17001 b
1700101 c
1700102 d
1700201 e
1700202 f
170020201 G
170020202 G
现在要把表B中code1 字段前6位换成 表A 中对应 Code2字段内容
条件是A.Code1 字段前6位 = B.Code1 字段前6位
...全文
54 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
linguojin11 2008-09-03
  • 打赏
  • 举报
回复
update b set code1=stuff(b.code1,1,6,code2) from a,b where left(a.code1,6)=left(b.code1,6)
reidli 2008-09-03
  • 打赏
  • 举报
回复
楼主的问题好像有点儿不对吧
A.Code1 字段前6位 = B.Code1 字段前6位
1700201 420112 前6位 170020
1700202 420113 前6位 170020

1700201 e 前6位 170020
1700202 f 前6位 170020
170020201 G 前6位 170020
170020202 G 前6位 170020

那B表这四条记录到底是换A表中那两条记录的哪一个呢?

南山明月 2008-09-03
  • 打赏
  • 举报
回复
replace 换成stuff 才行吧
chuifengde 2008-09-03
  • 打赏
  • 举报
回复
update b set code1=replace(b.code1,a.code1,code2) from a,b where left(a.code1,6)=left(b.code1,6)

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧