简体   繁体   English

通过使用特定编号生成主键列

[英]Generating a Primary Key Column by using the specific number

I need to insert the numbers that fall between the Start and End column in the column " NumberList " (This should include both the Start and End numbers). 我需要在“ NumberList ”列中插入介于“开始”和“结束”列之间的数字(这应该同时包括“开始”和“结束”数字)。

SQL结果

The query that I am using to get the above result is as follows 我用来获取以上结果的查询如下

SELECT DISTINCT Number      
, CONVERT(VARCHAR,Number) + REPLICATE('0',16-LEN(Number)) AS 'Start' 
, CONVERT(VARCHAR,Number) + REPLICATE('9',16-LEN(Number)) AS 'End'
,NULL 'NumberList'      
FROM  Table

Could you please help me with the following as I would like the NumberList column to be a Primary Key too 您能否在以下方面为我提供帮助,因为我也希望NumberList列也成为主键

Create function GetNumbersList (@intStart as bigint, @intEnd as bigint) returns varchar(max) as begin DECLARE @num INT = @intStart DECLARE @numberlist as varchar(max)='' WHILE(@num<=@intEnd) begin set @numberlist=@numberlist + cast(@num as varchar(20)) + N' ' SET @num = @num + 1 end return(rtrim(@numberlist)) End GO select Number , CONVERT(VARCHAR,Number) + REPLICATE('0',16-LEN(Number)) AS 'Start' , CONVERT(VARCHAR,Number) + REPLICATE('9',16-LEN(Number)) AS 'End' , dbo.GetNumbersList (CONVERT(VARCHAR,Number) + REPLICATE('0',16-LEN(Number)), CONVERT(VARCHAR,Number) + REPLICATE('9',16-LEN(Number))) as [NumbersList] from Table

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM