我们可以在带有转换功能的SQL Server 2005查询中执行以下操作。
MaxRegID = (1).ToString("D5"); // c# code
MaxRegID = 00001
在列
中转换(1)5位数字答案 0 :(得分:1)
否 - 现在,SQL Server没有等效于.NET中的Format
(在.ToString()
中使用)。
您可以通过以下方式实现此目的:
SELECT RIGHT('00000' + CAST(1 AS VARCHAR(5)), 5)
SQL Server 2012(“Denali”)将introduce a FORMAT
T-SQL function
您还可以为此创建一个通用功能 - 例如:
CREATE FUNCTION dbo.PadInt(@input INT, @length INT)
RETURNS VARCHAR(20)
AS BEGIN
DECLARE @Result VARCHAR(20)
DECLARE @Padding VARCHAR(20)
SELECT @Padding = REPLICATE('0', @Length)
SELECT @Result = RIGHT(@Padding + CAST(@Input AS VARCHAR(20)), @Length)
RETURN @Result
END
并将其称为:
SELECT dbo.PadInt(1, 5)
然后回来:
00001