我有一个 mssql 数据库,我正在尝试更新一个包含这样数据的数据库字段..
1111-2222-3333-4444
我想浏览所有记录并更改前 3 组数字并保留最后一组。
因此,在更新之后,它们都将是0000-0000-0000-4444,而4444是以前的。
我怎样才能做到这一点?
我有一个 mssql 数据库,我正在尝试更新一个包含这样数据的数据库字段..
1111-2222-3333-4444
我想浏览所有记录并更改前 3 组数字并保留最后一组。
因此,在更新之后,它们都将是0000-0000-0000-4444,而4444是以前的。
我怎样才能做到这一点?
如果所有行的格式完全相同,并且您希望将每行中的前三组字符更改为完全相同的值,那么这样的事情会起作用:
update tblToUpdate
set columnToUpdate = '0000-0000-0000-' + right(columnToUpdate , 4)
在做任何太疯狂的事情之前一定要备份那张桌子!
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