如何计算自定义ID以增长到无穷大

时间:2017-02-13 10:35:28

标签: tsql

我有一个用户定义函数,如下所示,使用PK Id作为指南计算自定义ID

 CREATE FUNCTION [dbo].[CustomeId] (
 @Prefix NVARCHAR(10),
 @Id INT,
 @Length INT,
 @PaddingChar CHAR(1) = '0'
 )
 RETURNS NVARCHAR(MAX)
 AS
 BEGIN

 RETURN (
 SELECT @Prefix + RIGHT(REPLICATE(@PaddingChar, @Length) + CAST(@Id as     nvarchar(10)), @Length)
 )

 END

在我的sql表的计算列规范中,我有:

 ([dbo].[CustomeZoneId]('GH-',CONVERT([nvarchar](10),[Id],(0)),(10),'0'))

和out put如下:

 GH-0000000001 , GH-999999999, etc

但我希望它能够在PK Id旁边增长到无限远。类似的东西:

GH-9, GH-99, GH-999 to infinity

1 个答案:

答案 0 :(得分:0)

这与C#无关,而与SQL Server无关。

要回答你的问题,没有这样的数据类型可以增长到无限,但是如果你想要最大限度你可以用户

nvarchar[max] 

希望这会有所帮助..