Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 使用reg ex或更新_Sql_Sql Server - Fatal编程技术网

Sql 使用reg ex或更新

Sql 使用reg ex或更新,sql,sql-server,Sql,Sql Server,我有一个mssql数据库,我正在尝试更新一个包含如下数据的数据库字段 1111-2222-3333-4444 我想查看所有记录,更改前3组数字,保留最后一组 因此,在更新之后,它们都是0000-0000-0000-4444,而4444是以前的 如何执行此操作?如果所有行的格式都完全相同,并且您希望将每行的前三组字符更改为完全相同的值,则类似的操作将起作用: update tblToUpdate set columnToUpdate = '0000-0000-0000-' + right(colu

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

1111-2222-3333-4444

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

因此,在更新之后,它们都是0000-0000-0000-4444,而4444是以前的


如何执行此操作?

如果所有行的格式都完全相同,并且您希望将每行的前三组字符更改为完全相同的值,则类似的操作将起作用:

update tblToUpdate
set columnToUpdate = '0000-0000-0000-' + right(columnToUpdate , 4)

在做任何疯狂的事情之前,一定要备份一下那张桌子

如果所有行的格式都完全相同,并且您希望将每行的前三组字符更改为完全相同的值,那么类似的操作将起作用:

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

在做任何疯狂的事情之前,一定要备份一下那张桌子

最后总是有4个数字吗?不,那只显示4组4个数字。最后总是有4个数字吗?不,那只显示4组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