我有一个插槽号码,如slot001
。现在我必须增加一些user_input
的值(比如5)。输出应该是:如何在oracle中增加具有数字字段的字符串?
slot001
slot002
slot003
slot004
slot005
我曾尝试写一段代码,但它无法slot001
和slot1
区分。字符串长度不固定,但是它将是字数格式。
我的方法:
CREATE OR REPLACE PROCEDURE Pr_procedure_poc
(
slot_numin IN VARCHAR2,
range_countin IN NUMBER
) is
v_slt_num NUMBER;
v_slot VARCHAR2(100) := slot_numin;
v_slt_var VARCHAR2(100);
v_temp VARCHAR2(100);
begin
SELECT Regexp_substr(slot_numin, '\d+')
INTO v_slt_num
FROM dual;
SELECT Regexp_substr(slot_numin, '\D+')
INTO v_slt_var
FROM dual;
FOR i IN 0 .. (range_countin -1) LOOP --range_countin :=user input to increament the string
v_temp := v_slt_num + i;
v_slot := v_slt_var||v_temp;
end loop;
end
Pr_procedure_poc;
输出slot_numin = 'ABC001' 和范围= 10:
abc1
abc2
abc3
abc4
abc5
abc6
abc7
abc8
abc9
abc10
输出slot_numin = 'ABC1' 和范围= 10:
abc1
abc2
abc3
abc4
abc5
abc6
abc7
abc8
abc9
abc10
预期输出: slot_numin ='abc001'的输出和范围= 10:
ABC001
abc002
abc003
abc004
abc005
abc006
abc007
abc008
abc009
abc010
输出slot_numin = 'ABC1' 和范围= 10:
abc1
abc2
abc3
abc4
abc5
abc6
abc7
abc8
abc9
abc10