发布网友 发布时间:2022-05-24 18:38
共2个回答
热心网友 时间:2023-10-25 12:33
我怎么觉得你这个象是传说的2000W啊
热心网友 时间:2023-10-25 12:33
oralce中貌似没有这样的函数啊,得自己写一个,比较相近的是instr()函数,定位某个字符在指定字符串中的位置,你可以用这个函数写一个统计出现次数的函数。追问我知道没有啦,就是不知道怎麼写才问的啦。追答--不好意思,这段时间比较忙没有及时跟进,不知道你的问题解决没有,由于时间有限,我就写了个统计字符串中大写字母个数的程序块,作为抛砖引玉吧,希望能帮助你
declare
v_count number := 0;
v_pos number := 0;
x number;
y number;
v_length number;
begin
select length('32A2F3F2R32B3B2T3B34H23H') into v_length from al;
<<outerloop>>
for x in 65 .. 90 loop
select instr('32A2F3F2R32B3B2T3B34H23H', to_char(chr(x)), 1)
into v_pos
from al;
if v_pos = 0 then
continue;
else
v_count := v_count + 1;
y :=2;
<<interloop>>
while v_pos < v_length loop
select instr('32A2F3F2R32B3B2T3B34H23H', to_char(chr(x)), 1, y)
into v_pos
from al;
if v_pos = 0 then
exit interloop;
else
v_count := v_count + 1;
y := y+1;
end if;
end loop interloop;
end if;
end loop outerloop;
dbms_output.put_line(v_count);
end;