2011-10-17 31 views

回答

2
SELECT STR(N,5) 
FROM (VALUES (1),(12),(145)) T(N) 

返回

----- 
    1 
    12 
    145 
+0

感謝所有的回覆(這似乎是一件容易的事),無論如何,我在google搜索和堆棧轉移之前很久沒有結果。我選擇這個作爲答案,因爲它是最緊湊的。無論如何,正確的想法當然是好的。 – LaBracca

2
RIGHT('  ' + CAST (VALUE as VARCHAR(5)), 5) 

更普遍:

DECLARE @PadTo tinyint; 
SET @PadTo = 5; 

SELECT 
    RIGHT(REPLICATE(' ', @PadTo) + CAST(VALUE as VARCHAR(255)), @PadTo) 
... 
2

你可以找到你的ansewer這裏:

SQL Padding

特別:

SELECT RIGHT ('000000'+ CAST (@Number AS varchar), 6) 
+2

不起眼的複製/粘貼。 OP要求領先的空間和長度爲5雖然:可以做出更多的努力... – gbn

+0

這downvote是不公平的,我想給一個提示,給出完整的答案是soooo lame –

+0

我沒有投票:你的答案是沒錯,只是看起來像複製粘貼。 – gbn

2
declare @T table(Value int) 

insert into @T values (1),(12),(145) 

select right(stuff(Value, 1, 0, space(5)), 5) 
from @T 
相關問題