如何在SQL 2000中取回一个数字的2位数表示

时间:2008-10-03 20:12:38

标签: sql-server

我在SQL2000上有一个带有数字列的表,我需要select来返回01,02,03 ......

目前返回1,2,3,... 10,11 ......

感谢。

4 个答案:

答案 0 :(得分:7)

这有用吗?

SELECT REPLACE(STR(mycolumn, 2), ' ', '0')

来自http://foxtricks.blogspot.com/2007/07/zero-padding-numeric-value-in-transact.html

答案 1 :(得分:1)

这类问题是关于数据库的接口。实际上数据库应该返回数据,如果它想要特定格式的数据,您的应用程序可以重新格式化它。您不应该在数据库中执行此操作,而应在表示层中执行此操作。

答案 2 :(得分:0)

John的答案有效并且可以推广到任意数量的数字,但我会更舒服

select case when mycolumn between -9 and 9 then '0' + str(mycolumn) else str(mycolumn) end 

答案 3 :(得分:0)

其中n是0到99之间的正整数:

select right('0'+ltrim(str(n)),2)

select right(str(100+n),2)

但我最喜欢John的答案。目标宽度的单点规范,但我发布了这些,因为它们也是在其他情况或语言中可能更好用的常用习语。