pl/sqlを使用して巨大な文字列から特定の文字列を取得する方法を知っている人はいますか?私はクエリを作成する初心者なので、どんな助けも役に立ちます. ところで、関数を使用したくありません: select substr( * , * ,* ) from * cuz 入力は可変なので、この問題について誰か助けてくれますか? その状態でブロックを使用するようにアドバイスしてくれませんか?
ありがとうございます。それでは、お元気で、
大きな文字列内の特定の文字列を探しているようです。もしそうなら、おそらくあなたが探している関数は INSTR です:
http://docs.oracle.com/cd/B28359_01/olap.111/b28126/dml_functions_1103.htm
あなたの質問に対する私の理解では、 aが a に存在するcheck
かどうかを知りたいのです が、これが質問である場合は、以下の解決策を見つけることができます。specific word
string or not
DECLARE
v_string VARCHAR2(200):='MY NAME IS GAURAV SONI';
v_check PLS_INTEGER;
BEGIN
v_check:=INSTR(v_string,'GAURAV'); --this is case sensitive
IF v_check >0 THEN
dbms_output.put_line('Word exists');
END IF;
END;
上記のブロックではGAURAV
、文字列内の単語を検索してMY NAME IS GAURAV SONI
おり、この単語がその12
場所に存在します。
Case sensitive
これはであり、単語を入力するとgaurav
、 の値が にv_check
なることに注意してくださいzero
。
探している場合は、代わりにCase insensitive
オラクルの正規表現を探してください。この関数REGEXP_INSTRを使用する前に、オラクルのドキュメントを読んでください。REGEXP_INSTR
INSTR