1

pl/sqlを使用して巨大な文字列から特定の文字列を取得する方法を知っている人はいますか?私はクエリを作成する初心者なので、どんな助けも役に立ちます. ところで、関数を使用したくありません: select substr( * , * ,* ) from * cuz 入力は可変なので、この問題について誰か助けてくれますか? その状態でブロックを使用するようにアドバイスしてくれませんか?

ありがとうございます。それでは、お元気で、

4

2 に答える 2

4

大きな文字列内の特定の文字列を探しているようです。もしそうなら、おそらくあなたが探している関数は INSTR です:

http://docs.oracle.com/cd/B28359_01/olap.111/b28126/dml_functions_1103.htm

于 2012-04-09T06:41:32.400 に答える
4

あなたの質問に対する私の理解では、 aが a に存在するcheckかどうかを知りたいのです が、これが質問である場合は、以下の解決策を見つけることができます。specific wordstring 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_INSTRINSTR

SQL Fiddle で実行された例

于 2012-04-09T06:54:04.220 に答える