如何使用tsql更新具有增量值的列?

Jan*_*ngo 5 t-sql sql-server

我想用增量值更新一个表的名字和姓氏.例如:-

ID   FirstName  
1    Demo_01    
2.   Demo_02
3.   Demo_03
4.   And so on....
Run Code Online (Sandbox Code Playgroud)

该表有1000个记录.但出于演示目的,我们不想共享真实姓名.那么请帮助如何使用"Demo_ +增量值"更新名字?

Mar*_*ith 8

;with cte as
(
SELECT FirstName, ROW_NUMBER() OVER (ORDER BY ID) RN
FROM YourTable
)

UPDATE cte
SET FirstName = 'Demo_ ' + CAST(RN AS VARCHAR(10))
Run Code Online (Sandbox Code Playgroud)

或者你的意思是你想直接使用ID字段?

UPDATE YourTable
SET FirstName = 'Demo_ ' + CAST(ID AS VARCHAR(10))
Run Code Online (Sandbox Code Playgroud)

注意:你说你有成千上万的记录,但显然它们不适合这种Demo_01格式.假设你想允许最多6个数字并使用前导零填充你可以使用类似的东西.

UPDATE YourTable
SET FirstName = 'Demo_ ' + RIGHT('000000' + CAST(ID AS VARCHAR(6)),6)
Run Code Online (Sandbox Code Playgroud)