#OracleDBでBLOBデータをVARCHAR2にキャストして内容確認
##やりたいこと
桁数が不明なデータをBLOB
やCLOB
で受け取った際にデータを確認しようとしても、バイナリデータで保存されているため、そのままでは内容がわからない…
そんなときにはDBMS_LOB.SUBSTR
とUTL_RAW.CAST_TO_VARCHAR2
を使用して内容確認を行います。
BLOB項目へのデータの登録方法は下記参照
【OracleDB】BLOBデータにINSERT
##1. BLOBの抽出
BLOBデータを適当な桁数を指定し、バイナリデータの抽出を行います。
blob_cast1.sql
SELECT
DBMS_LOB.SUBSTR(test_column,3000,1) -- BLOBの抽出
FROM test_table
##2. VARCHAR2へのキャスト
抽出したバイナリデータをVARCHAR2型へキャストして内容を確認します。
blob_cast2.sql
SELECT
UTL_RAW.CAST_TO_VARCHAR2(DBMS_LOB.SUBSTR(test_column,3000,1)) -- VARCHAR2へのキャスト
FROM test_table