这里有人提供了一个脚本来帮助我生成增量数字,因此它看起来像下面的PIN号列。我运行脚本并注意到生成的最小PIN码是10000,真的应该是4310
表名:Citizen
Firstname Lastname PIN Address Age other columns....
John Smith 4310 20001 19
Andrew Evans 4311 363252 30
Bill Towny 4312 63322 67
Dame Beaut 4313 34222 34
WITH PIN_NO
AS
(
SELECT 4310 + ROW_NUMBER() OVER(ORDER BY [All LP First Name]) NEW_PIN, *
FROM [dbo].[C3MDMRevsBens]
)
UPDATE PIN_NO
SET [Account Reference Number] = CAST(NEW_PIN AS VARCHAR(10))
当我按照asc顺序订购PIN码时,下面是从记录1开始生成的号码.....
select * from Citizen order by PIN asc
OR
SELECT MIN(PIN) FROM Citizen
10000
100000
100001
100002
100003
100004
100005
100006
100007
100008
100009
10001
由于
答案 0 :(得分:1)
您的查询工作正常......我已经过测试。正如@bassrek所说,您的选择查询必须经过审核:
select * from Citizen order by CAST(Pin AS int)
因为Pin似乎是nvarchar
而10000在4之前。
因此,您必须将pin列更改为int或在select中使用强制转换。