他のプログラミング言語では簡単な問題を解決しようとしていますが、PL/SQLでは処理できません。私はPL/SQLの初心者だと言わざるを得ない。PL/SQLで指定された文字がいくつあるかを調べるには
このような問題は次のようなものです。私は多くの単語がスペースで区切られた文字列を持っています。
私はこの問題に何かしましたが、私が探しているものではありません。私のコードでは、すべての文字列に "u"がいくつあるかを数えます。何か案は?ありがとう。
set serveroutput on;
DECLARE
v_sir VARCHAR2(225) := 'grass car unity united car until';
v_I NUMBER := 1;
v_count NUMBER := 0;
BEGIN
WHILE v_I <= LENGTH(v_sir)
LOOP
IF substr(v_sir, v_I, 1) IN ('u', 'U') THEN
v_count := v_count + 1;
END IF;
v_I := v_I + 1;
END LOOP;
dbms_output.put_line('The number of "u" is: ' || v_count);
END;
私はO(1)アプローチが好きです。私は文字列を区切り文字としてスペースで区切り、次に 'INSTR'が 'u'を確認してから' COUNT(*) 'をチェックするようにSQLとして回答を投稿しようとしていました。しかし、私はそれがどこにも近くないと思う。 – ruudvan