关于SQL替换的问题,怎么让数字变成指定位数

如图,怎么让几号变成指定的位数,例如指定4位数:会纪[2013]0010号、会纪[2013]0114号、会纪[2013]0011号。。。... 如图,怎么让几号变成指定的位数,例如指定4位数:会纪[2013]0010号、会纪[2013]0114号、会纪[2013]0011号。。。 展开
 我来答
longrenyingdc8ecb1
2014-10-17 · TA获得超过1万个赞
知道大有可为答主
回答量:6032
采纳率:82%
帮助的人:2336万
展开全部
按照你的说法也就是说整个字符串的长度固定。那么就用length(oracle),len(sql server)进行判断,凡是不满足长度的都要加0补全。
会纪[2013]这部分是固定的,那么我们就刨除这部分利用后面的长度固定来做。我只会写oracle的,其他数据库可能你要找找他的函数了。
update table set WG7=substr(WG7,1,length('会纪[2013]'))||lpad(substr(WG7,length('会纪[2013]'+1),length('0000号'),'0') where length(WG7)<length(‘会纪[2013]0000号')
xindeluoye
2014-10-17 · 超过29用户采纳过TA的回答
知道答主
回答量:106
采纳率:0%
帮助的人:46.6万
展开全部
Select Left(WG38, 8) + Replicate('0', 13 - len(WG38)) + Right(WG38, Len(WG38) - 8) from 你的表

这个方法你试试吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tj_angela
2014-10-17 · TA获得超过7530个赞
知道大有可为答主
回答量:6797
采纳率:75%
帮助的人:2552万
展开全部
给你个sqlserver的,不同数据库函数不一样而已,修改下就好了
select left('会议[2013]123号',8)+right('0000'+substring('会议[2013]123号',9,10),5)
--
会议[2013]0123号
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式