declare @s int set @s=13 select right('0000000'+Rtrim(cast(@s as int)),7)
可能都不准确,因为有可能数字已经是大于7位了,楼主应该这样操作:declare @a int declare @s varchar(20)set @a = 18 --1234567,12345678set @s = case when len(RTRIM(@a)) <= 7 then replicate('0',7-len(rtrim(@a))) + rtrim(@a) else rtrim(@a) end
set @s=13
select right('0000000'+Rtrim(cast(@s as int)),7)
declare @s varchar(20)set @a = 18 --1234567,12345678set @s = case when len(RTRIM(@a)) <= 7
then replicate('0',7-len(rtrim(@a))) + rtrim(@a)
else rtrim(@a) end
select @s