Oracle SQL BLOB からのテキスト内容の抽出
Oracle SQL を使用する場合、テキストを取得して表示する必要がある状況が発生することがあります。 BLOB (バイナリ ラージ オブジェクト) 内に含まれます。 BLOB フィールドを取得するためのデフォルトのクエリは、BLOB のメモリ位置への参照のみを返します。これは、探している望ましいテキスト表現ではありません。
Oracle SQL で BLOB からテキストの内容を取得するには、以下を利用できます。 utl_raw.cast_to_varchar2() と dbms_lob.substr() 関数の組み合わせは次のようになります。
<br>SELECT utl_raw.cast_to_varchar2(dbms_lob.substr(BLOB_FIELD))<br>FROM TABLE_WITH_BLOB<br>WHERE ID = '<row id>';<br>
このクエリは BLOB コンテンツを VARCHAR2 データ型にキャストし、テキストを表示できるようにします。ただし、最大 32767 文字しか取得できないという制限があることに注意してください。
または、BLOB ではなく CLOB/NCLOB 列にテキスト データを格納することを検討してください。これらの列は文字を格納するために特別に設計されているためです。に基づいたデータ。 CLOB フィールドに対するクエリは、追加のキャストを必要とせずにテキストを直接返します。
以上がOracle SQL BLOBからテキストを抽出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。