0
LOBを検索する方法を理解するのに苦労しています。私は、次のことをしようとしているが、ORA-19011を得た:文字列バッファが小さすぎ、エラーLOBを使用して苦労する
select * from gtpintr_data.sagadata sa where SA.DATA like '4780471';
LOBを検索する方法を理解するのに苦労しています。私は、次のことをしようとしているが、ORA-19011を得た:文字列バッファが小さすぎ、エラーLOBを使用して苦労する
select * from gtpintr_data.sagadata sa where SA.DATA like '4780471';
SQL LIKEコマンドのみVARCHAR2のようなVARCHAR型のデータ型で動作します。 Oracleは問合せを実行するためにLOBを文字列に変換する必要があります。したがって、文字列の最大サイズに収まらない場合は失敗します。
http://docs.oracle.com/database/121/ARPLS/d_lob.htm#ARPLS66715
をしかし、あなたは、テーブルの行ごとにそれを呼び出す必要があるだろうとして、それが遅くなります。
あなたは代わりに、PL/SQLプログラムでDBMS_LOB.INSTR
を使用することができます。
より良い代替方法は、列にOracle Text索引を追加し、CONTAINS演算子を使用する方法です。
は無関係かもしれないが、それは '' '%4780471%' のようなことではないでしょうか? – Utsav