我的查询类似于:
DECLARE @value decimal(8,0) = 1
SELECT (CAST @value AS varchar(8))
如何使用前导零(00000001, 00000023, 00000623
等)格式化输出?
我怎么能这样做?
这是.Net或Java中的简单任务,但我必须在视图中进行。
答案 0 :(得分:2)
试试这个
SELECT RIGHT('00000000' + CAST (@value AS varchar(8)),8)
答案 1 :(得分:2)
这应该有效:
DECLARE @value decimal(8,0) = 1
SELECT RIGHT('0000000' + CAST(@value AS varchar(8)), 8)
答案 2 :(得分:2)
试试这个:
declare @value varchar(8)='623';
Select ltrim(right(replicate(0,8) + CAST (@value AS varchar(8)),8))
答案 3 :(得分:1)
您可以使用REPLICATE
和RIGHT
执行此操作,如下所示:
SELECT RIGHT(REPLICATE('0', 8) + CAST(@valueAS VARCHAR(8)), 8)
答案 4 :(得分:1)
试试这个:
DECLARE @value decimal(8,0) = 1
SELECT REPLICATE('0',8-len(@value))+CAST(@value AS varchar(8))