SQLコンソールからOracle BLOB内の内容を確認しようとしています。Oracle SQLのBLOBからテキスト・コンテンツを取得するには
私はそれがテキストのやや大きな体が含まれています知っていると私はテキストだけを見たいと思ってますが、次のクエリは、そのフィールドでBLOBがあることを示している:
select BLOB_FIELD from TABLE_WITH_BLOB where ID = '<row id>';
私は結果は私が期待していたものではありません。
BLOB_FIELD ----------------------- [email protected]
BLOBをテキスト表現にするにはどのような魔法の呪文を使用できますか?
PS:SQLコンソール(Eclipse Data Tools)からBLOBの内容を見ようとしていますが、コードでは使用しません。
残念ながら、私は、データベーススキーマをコントロールしていない - 私はとにかく しかし、おかげで...ブロブに覗き見する必要があります。 –
ありがとうマック、それはうまくいく---しかし、その "dbms_lob.substr"の目的は何ですか? --- select utl_raw.cast_to_varchar2(BLOB_FIELD)を使用するだけで、同じ結果が得られるようです...? – Rop
cast_to_varchar2は、RAW入力を受け取ります(http://docs.oracle.com/cd/E11882_01/appdev.112/e25788/u_raw.htm#autoId18)。これは32767バイトの長さに制限されています(http:// docs。 oracle.com/cd/E11882_01/appdev.112/e10472/datatypes.htm#autoId8)。 BLOBにはサイズに制限がないため、必要に応じてsubstrは正しいサイズに切り捨てます(http://docs.oracle.com/cd/E11882_01/appdev.112/e25788/d_lob.htm#autoId57)。 – Mac