gpt4 book ai didi

Oracle PL/SQL 打印字符串的每个字母

转载 作者:行者123 更新时间:2023-12-02 04:31:52 26 4
gpt4 key购买 nike

我需要单独打印出“Hello”这个词的字母,我这样写:

Declare
c1 Number:=1;
c2 Varchar2(5);
begin
for c1 in 1..5
loop
select substr('Hello' , c1 , 1 ) into c2 from dual;
dbms_output.put_line(c2);
end loop;
end;

但它跳过前两个字母,结果是

l
l
o

有什么想法可能是什么问题吗?谢谢。

最佳答案

最好有循环结束限制For i in 1..v_length这样您就不必在每次运行时更改Loop限制。

 Create or replace procedure print_string( IN_string IN varchar2 )
AS
v_length number(10);
v_out varchar2(20);
Begin
v_length := length(IN_string);
for i in 1..v_length
Loop
v_out := substr(IN_string,i,1) ;
DBMS_OUTPUT.PUT_LINE(v_out);
End loop;
DBMS_OUTPUT.PUT_LINE('Text printed: ' || IN_string);
End;
-- Procedure created.

BEGIN
print_string('Hello');
END;


-- Output:

H
e
l
l
o
Text printed: Hello

Statement processed.

关于Oracle PL/SQL 打印字符串的每个字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29995683/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com