我想用增量值更新一個表的名字和姓氏。例如: -如何使用tsql更新列的增量值?
ID FirstName
1 Demo_01
2. Demo_02
3. Demo_03
4. And so on....
此表有1000個記錄。但爲了演示的目的,我們不想分享真實姓名。所以請幫助如何通過一個
我想用增量值更新一個表的名字和姓氏。例如: -如何使用tsql更新列的增量值?
ID FirstName
1 Demo_01
2. Demo_02
3. Demo_03
4. And so on....
此表有1000個記錄。但爲了演示的目的,我們不想分享真實姓名。所以請幫助如何通過一個
;with cte as
(
SELECT FirstName, ROW_NUMBER() OVER (ORDER BY ID) RN
FROM YourTable
)
UPDATE cte
SET FirstName = 'Demo_ ' + CAST(RN AS VARCHAR(10))
更新與「Demo_ +增量值名字或你的意思是你要直接使用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)
對於MySQL
UPDATE tablename SET FirstName = CONCAT('Demo_',ID);
除了他問TSQL,不是MySQL – LittleBobbyTables 2010-10-14 13:43:24
對不起我的錯誤。我錯過了。 – 2010-10-14 13:52:05
關於你的答案沒有問題,如果這個工作適用於mysql – Ajay2707 2017-11-03 12:03:20
沒有CTE:
DECLARE @NewID INT;
SET @NewID = 0;
UPDATE myTable
SET @NewID = ID = @NewID + 1
UPDATE myTable
SET FirstName = 'Demo_ ' + RIGHT('000000' + CAST(ID AS VARCHAR(6)),6)
太美好了。謝謝 – Jango 2010-10-14 13:42:39