我有一個插槽號碼,如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