SQL从row_number Over()函数获取2位数字

时间:2014-03-21 11:18:28

标签: sql-server tsql

是否可以使用以下功能获取2位数字?

Row_number () Over(Order By UH.Stuff) AS HSN

我希望查询返回01,02,03而不是1,2,3 ......

4 个答案:

答案 0 :(得分:2)

做这样的事情:

RIGHT('0' + CONVERT(VARCHAR,ROW_NUMBER() OVER (ORDER BY UH.Stuff)), 2) AS HSN

答案 1 :(得分:1)

您无需使用Convert()功能:

获得2位数:

RIGHT(100 + Row_number () Over(Order By UH.Stuff), 2) AS HSN

3位数:

RIGHT(1000 + Row_number () Over(Order By UH.Stuff), 3) AS HSN

所以......

答案 2 :(得分:1)

您可以使用此方法在SQL Server中填充数字:

select right(1000000 + Row_number () Over(Order By UH.Stuff), 2) AS HSN

这样做会为您的号码添加一个大号。函数right()自动将其转换为字符串。最右边的两位数字将为零填充。

答案 3 :(得分:0)

通过点击此链接PadLeft Function

上的答案,您可以实现您想要实现的目标