PLSQLで文字列中の文字の出現回数を調べるには?
PL/SQL ではループや条件文を利用して、文字列中に含まれる文字を数えることができます。以下にサンプルコードを示します。
DECLARE
input_string VARCHAR2(100) := 'Hello World';
search_char CHAR(1) := 'o';
count NUMBER := 0;
BEGIN
FOR i IN 1..LENGTH(input_string) LOOP
IF SUBSTR(input_string, i, 1) = search_char THEN
count := count + 1;
END IF;
END LOOP;
DBMS_OUTPUT.PUT_LINE('Character ' || search_char || ' appears ' || count || ' times in the string.');
END;
上記の例では、まず入力文字列を格納する変数 input_string、検索する文字を格納する変数 search_char、カウントする変数 count を宣言します。 その後、入力文字列の各文字をループで走査し、検索文字と等しいかどうかを調べます。 等しい場合、カウント変数の値を増やします。 最後に、DBMS_OUTPUT.PUT_LINE 関数を使って、文字列内に文字が出現した回数を表示します。
上記の例では、文字列内における特定文字の出現回数のみをカウントしています。複数の異なる文字の出現回数をカウントしたい場合は、必要に合わせてコードを修正してください。