将一个int类型的变量转换为指定长度的字符串,在前面补0

vfork 2006-07-23 10:10:20
假设int类型的123,把他转换成5为的字符号变成字符串00123

int类型为变量,字符串的长度也为变量,怎么处理?
...全文
399 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
fcuandy 2006-07-24
  • 打赏
  • 举报
回复
自已体会.
db_sky 2006-07-24
  • 打赏
  • 举报
回复
夜兄的代码都出了,你们还敢发其它的吗?

declare @a int
select @a=123
select right(100000+@a,5)

--高明。
zhangxiaopin 2006-07-24
  • 打赏
  • 举报
回复
DECLARE @Number int
DELCARE @strNumber varchar(50);
DECLARE @CommentNumber varchar(50);

set @strNumber=Convert(varchar(50),@Number);

IF(len(@strNumber<5)
BEGIN
SET @CommentNumber ="0"+@strNumber
END
十一月猪 2006-07-24
  • 打赏
  • 举报
回复
夜大哥的方法 最好
fcuandy 2006-07-23
  • 打赏
  • 举报
回复
Power??
你不怕溢出?
liangpei2008 2006-07-23
  • 打赏
  • 举报
回复
--
Declare @t Int,@Len Int
Set @t=123
Set @Len=5
Select Right(Power(10,@Len+1)+@t,@Len)
fcuandy 2006-07-23
  • 打赏
  • 举报
回复
或者

DECLARE @n INT,@l INT
SET @n=123
SET @l=5
SELECT RIGHT(REPLICATE('0',100)+RTRIM(@n),@l)
LouisXIV 2006-07-23
  • 打赏
  • 举报
回复
declare @a int
select @a=123

select right(100000+@a,5)
fcuandy 2006-07-23
  • 打赏
  • 举报
回复
DECLARE @n INT,@l INT
SET @n=123
SET @l=5
SELECT CASE WHEN LEN(@n)>=@l THEN RTRIM(@n) ELSE REPLICATE('0',@l-LEN(@n))+RTRIM(@n) END

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧