用reg ex或更新

时间:2013-02-18 19:44:04

标签: sql sql-server

我有一个mssql数据库,我正在尝试更新一个包含这样数据的数据库字段。

1111-2222-3333-4444

我想查看所有记录并更改前3组数字并保留最后一组记录。

因此,在更新后,他们都将 0000-0000-0000-4444 ,其中 4444 就是以前的状态。

我该怎么做?

2 个答案:

答案 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