0

CLOB 内の文字列を検索したい:

何かのようなものid_name_2569

必要なすべての ID を次のように取得します。

select project_line_id as ID
from tbl1
where art_id in (
                  select art_id
                  from tbl2
                  where type = 3
                 );

そして私はこのテーブルを検索します:A1はCLOBフィールドです

select * from tbl3 where dbms_lob.instr(A1, ID)>0;

明らかに機能していません。これを行う方法はありますか?

4

2 に答える 2

1

このようなものはうまくいくはずです:

select tbl3.*
  from tbl1
       inner join tbl2
               on tbl2.art_id = tbl1.art_id
       inner join tbl3
               on tbl3.a1 like '%' || tbl1.project_line_id || '%'
 where tbl2.type = 3;
于 2013-02-26T14:47:32.090 に答える
1

DBMS_LOB.instr結合条件として直接使用できます。

SELECT *
  FROM (SELECT project_line_id AS ID 
          FROM tbl1 
         WHERE art_id IN (SELECT art_id FROM tbl2 WHERE TYPE = 3)) v
  JOIN tbl3 ON dbms_lob.instr(tbl3.a1, v.ID) > 0
于 2013-02-26T15:11:14.410 に答える