我需要以下面的格式按特定顺序为大约400条记录生成PIN码。因此,我需要更新声明来更改PIN列下的现有PIN码,以遵循以下格式
表名:Citizen
Firstname Lastname PIN Address Age other columns....
John Smith 4311 20001 19
Andrew Evans 4312 363252 30
Bill Towny 4313 63322 67
Dame Beaut 4314 34222 34
基本上需要创建增量为1的引脚数... 4311,4312,4313,4314
由于
_______________________以下脚本______________
以下是我的剧本
WITH PIN_NO
AS
(
SELECT 4310 + ROW_NUMBER() OVER(ORDER BY Firstname, Lastname) NEW_PIN, *
FROM [dbo].[C3MDMRevsBens]
)
UPDATE PIN_NO
SET [Account Reference Number] = RIGHT('0' + CAST(NEW_PIN AS
VARCHAR (10)),5)
当我运行查询以按升序选择时
select * from [dbo].[C3MDMRevsBens] order by [Account Reference Number]
以
开头 00000
00001
00002
00003
00004
这是一个VARCHAR(255)列
答案 0 :(得分:2)
试试这个:
注意:您没有提到更新PIN的任何订单,因此我按名字和姓氏订购。
;WITH PIN_NO
AS
(
SELECT 4310 + ROW_NUMBER() OVER(ORDER BY Firstname, Lastname ) NEW_PIN, *
FROM Citizen
)
UPDATE PIN_NO
SET PIN = RIGHT('0' + CAST(NEW_PIN AS VARCHAR(10)),5)