【发布时间】:2014-03-21 23:20:25
【问题描述】:
是否可以使用下面的函数获取2位数字?
Row_number () Over(Order By UH.Stuff) AS HSN
我希望查询返回 01 、 02 、 03 而不是 1,2,3...
【问题讨论】:
-
编号为 100 的行呢?
标签: sql-server tsql
是否可以使用下面的函数获取2位数字?
Row_number () Over(Order By UH.Stuff) AS HSN
我希望查询返回 01 、 02 、 03 而不是 1,2,3...
【问题讨论】:
标签: sql-server tsql
做这样的事情:
RIGHT('0' + CONVERT(VARCHAR,ROW_NUMBER() OVER (ORDER BY UH.Stuff)), 2) AS HSN
【讨论】:
你不需要使用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
等等……
【讨论】:
您可以使用此方法在 SQL Server 中对数字进行零填充:
select right(1000000 + Row_number () Over(Order By UH.Stuff), 2) AS HSN
这样做是在您的号码上添加一个大数字。函数right() 自动将其转换为字符串。最右边的两位数字将补零。
【讨论】: