我寫了一個小程序來查找字符串中最後一個空格的位置。如果找到,請在該空格之前取出所有字符,並繼續執行此操作,直到結果的長度小於或等於20. 但是,程序似乎未按預期工作。使用SUBSTR&INSTR操作應用FOR循環的問題
這是程序。
declare
v_building_nam varchar2(100) :='lnkilap Mahallesi Üntel Sok. B1Blok';
begin
FOR i in 1..10
LOOP
EXIT when length(v_building_nam) <=20;
v_building_nam := substr(v_building_nam,1,instr(v_building_nam,' ',-1));
END LOOP;
dbms_output.put_line(v_building_nam);
END;
輸出:
lnkilap Mahallesi Üntel Sok.
這似乎只是工作的第一次操作和循環然後運行高達10倍,沒有價值的變化。任何人都可以讓我知道我是否做錯了什麼?
後'你的字串substr'最後一個符號是一個空格:) –