oracle中to_number函数,使用了如何将字符串开头的0补省略?

SELECTsubstr('DF5811C4A0036',1,9)||(to_number(substr('DF5811C4A0036',-4,4))+1)FROMDUA... SELECT substr('DF5811C4A0036', 1, 9)||(to_number(substr('DF5811C4A0036', -4, 4)) + 1) FROM DUAL;中让查询出的结果为DF5811C4A0037.或者是用其他的方法能实现加一的效果? 多谢!! 展开
 我来答
白卡PALA
推荐于2016-07-02 · 知道合伙人软件行家
白卡PALA
知道合伙人软件行家
采纳数:648 获赞数:3420
性能测试4年工作经验。

向TA提问 私信TA
展开全部
SELECT substr('DF5811C4A0036', 1, 9)||trim(to_char((to_number(substr('DF5811C4A0036', -4, 4)) + 1), '0000') ) FROM DUAL;

oracle中to number函数是将一个字符串转换为数字数据类型,使用格式为
TO_NUMBER(<value>[, <format>, <NLS parameter>]) RETURN NUMBER。
cxkwelcome
推荐于2018-03-13 · TA获得超过204个赞
知道答主
回答量:184
采纳率:0%
帮助的人:171万
展开全部
改成这样就行了:
....|| to_char((to_number(substr('DF5811C4A0036', -4, 4)) + 1), '0000') from.....
追问
可是这种方式最终的结果是DF5811C4A 0037,多了个空格。 有没有办法取消掉这个空格??
追答
再加个trim()函数就可以了。
trim(to_char((to_number(substr('DF5811C4A0036', -4, 4)) + 1), '0000') )
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式