sql中如何在插入数时不足位数前加0

我想在插入数据的时候就同时实现插入不足位数的前面加0,因为数据比较大,所以要一次插入1w条数据,怎么能实现呢,我的代码是这样的declare@nintset@n=0whi... 我想在插入数据的时候就同时实现插入不足位数的前面加0,因为数据比较大,所以要一次插入1w条数据,怎么能实现呢,我的代码是这样的declare @n int
set @n = 0
while @n < 9999
begin
set @n = @n+1
declare @m char(10)
insert into temp(Number,Notic) values(@m,'0')
end
但是怎么在前面加0不知道,Number这个字段是char型的
上面的代码少了一行
正确的是
declare @n int
set @n = 0
while @n < 9999
begin
set @n = @n+1
insert into temp(Number,Notic) values(@m,'0')
end
展开
 我来答
华佗之父
2011-11-03 · TA获得超过1241个赞
知道小有建树答主
回答量:1623
采纳率:0%
帮助的人:1116万
展开全部
跟你说就知道了
定义一个char类型的变量@str,然后值@str='00000000'+@m这个@m要转成char类型的
然后插入的时候写 right(@str,5)
这里是取5位。
putx926
2011-11-03 · TA获得超过787个赞
知道小有建树答主
回答量:129
采纳率:0%
帮助的人:158万
展开全部
不足位数前加0,位数是几位啊,我就认为是5位了哦,插入的数据为number
select right('00000'+convert(varchar,number),5)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Com_JJYY
推荐于2017-09-26 · 超过34用户采纳过TA的回答
知道答主
回答量:133
采纳率:100%
帮助的人:63.9万
展开全部
是想要这个样子的吗
declare @n varchar(10)
set @n = '000'
while @n < 9999
begin
set @n = @n+1
while len(@n)<4 /*需要的位数*/
begin
select @n='0'+@n
end
insert into temp(Number,Notic) values(@n,'0')
--print @n
end
追问
恩 是这样 实现了我想要的功能  谢谢啦
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
heshengxi10
2011-11-03
知道答主
回答量:46
采纳率:0%
帮助的人:21.5万
展开全部
1.使用LPAD函数
2.使用case
3.提供函数,判断长度,不足补0.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式