某个字段格式如下:xxxxxx[2016]1号、xxxxxx[2017]10号。
现在我需要对末尾的号数进行处理,不足三位就补0,比如1号改为001,10号改为010
。求教这个过程应该怎么写?
求帮写一个oracle存储过程
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
4条回答 默认 最新
zhurongxiong 2017-04-14 09:23关注纯手打,麻烦分数给我,直接可以用,你自己设置个变量吧,在命令行调用exec tran;
create or replace procedure tran is
v_tran varchar2(100):='xxxxxx[2016]1号';
v_num number:='0';
begin
select length(v_tran) into v_num from dual;
if v_num=16 then
dbms_output.put_line(v_tran);
elsif v_num=15 then
dbms_output.put_line(substr(v_tran,1,12)||'0'||substr(v_tran,13,2));
elsif v_num=14 then
dbms_output.put_line(substr(v_tran,1,12)||'00'||substr(v_tran,13,2));
else
dbms_output.put_line('请输入合法的字符串,如xxxxxx[2016]1号');
end if;
end;解决 无用评论 打赏 举报