有个表A(BH,MC)
05 A
0501 A1
0502 A2
0503 A3
050301 A31
050302 A32
…… …… ……
想请教,现在想用SQL语句把表中的左面开始两个字符为05的,全部修改为06
修改后数据变成如下:
06 A
0601 A1
0602 A2
0603 A3
060301 A31
060302 A32
…… …… ……
05 A
0501 A1
0502 A2
0503 A3
050301 A31
050302 A32
…… …… ……
想请教,现在想用SQL语句把表中的左面开始两个字符为05的,全部修改为06
修改后数据变成如下:
06 A
0601 A1
0602 A2
0603 A3
060301 A31
060302 A32
…… …… ……
UPDATE a
SET a.bh = '06' + CASE WHEN LEN(bh) = 2 THEN ''
ELSE LEN(bh) - 2
END
WHERE SUBSTRING(bh, 1, 2) = '05'
不能在具有唯一索引 'BH' 的对象 'dbo.A' 中插入重复键的行。
SET a.bh = REPLACE (SUBSTRING (bh,1,2),'05','06')+SUBSTRING (bh,3,LEN(bh))
WHERE SUBSTRING(bh, 1, 2) = '05'