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

标签 sql-server tsql

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

ID   FirstName  
1    Demo_01    
2.   Demo_02
3.   Demo_03
4.   And so on....

该表有 1000 条记录。但出于演示目的,我们不想分享真实姓名。因此,请帮助如何使用“Demo_ + 增量值更新名字?

最佳答案

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

UPDATE cte
SET FirstName = 'Demo_ ' + CAST(RN AS VARCHAR(10))

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

UPDATE YourTable
SET FirstName = 'Demo_ ' + CAST(ID AS VARCHAR(10))

注意:您说您有数千条记录,但显然它们不适合 Demo_01 格式。假设您想允许最多 6 位数字并用前导零填充,您可以使用类似的东西。

UPDATE YourTable
SET FirstName = 'Demo_ ' + RIGHT('000000' + CAST(ID AS VARCHAR(6)),6)

关于sql-server - 如何使用 tsql 更新具有增量值的列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3933656/

相关文章:

sql - 需要帮助找到正确的 T-SQL 查询

sql-server - 查询多个数据库(SQL Server)

sql-server - 如何在 MS SQL 中引用计算列?

sql-server - SQL Server 2005 查找数据库中特定数据类型的所有列

sql - Adventure Work 数据库中复合主键的概念

sql - T-SQL 中必须转义的字符

sql - 创建引用尚未创建的 View 的 View

sql - 如何根据字段中的值截断或添加小数点 - SQL Server

sql - 如何防止 SQL 返回多个结果集

sql-server - 如果不是数字或 SQL 中的实际数值,则获取 null