我有一个mssql数据库,我正在尝试更新一个包含这样数据的数据库字段。
1111-2222-3333-4444
我想查看所有记录并更改前3组数字并保留最后一组记录。
因此,在更新后,他们都将 0000-0000-0000-4444 ,其中 4444 就是以前的状态。
我该怎么做?
答案 0 :(得分:3)
如果所有行的格式完全相同,并且您希望将前三组字符更改为每行中完全相同的值,则可以使用以下内容:
update tblToUpdate
set columnToUpdate = '0000-0000-0000-' + right(columnToUpdate , 4)
在做任何太疯狂的事情之前,一定要备份那张桌子!
答案 1 :(得分:0)
create table tmp (a varchar(32))
insert into tmp values ('1111-2222-3333-4444')
GO
select '0000-0000-0000-' + substring(a, 16, 4)
from tmp