Oracle Binary XML形式は、CSXと略される「CompactSchemaAwareXMLFormat」に対応します。 BLOBフィールドとして保存されたエンコードされたデータ。 Oracleのドキュメントから入手できるバイナリXML形式の詳細(
データフィールドの実際のサイズは、XMLType列のLOBストレージパラメータによって異なります。例えば。 storage in row
の場合 オプションを有効にすると、他のデータとvsize()
とともに直接保存された小さなドキュメント 適切な値を返します。
実際には、Oracleはシステム名を使用して基礎となるBLOB列を作成します。これは、user_tab_cols
にクエリを実行することで見つけることができます。 ビュー:
select table_name, column_name, data_type
from user_tab_cols
where
table_name = 'T' and hidden_column = 'YES'
and
column_id = (
select column_id
from user_tab_cols
where table_name = 'T' and column_name = 'X'
)
このクエリは、SYS_NC00002$
のようなシステムの非表示の列名を返します。 。
その後、通常のdbms_lob.getlength()
を使用してフィールドのサイズを取得することができます。 非表示の列に対する呼び出し:
select dbms_lob.getlength(SYS_NC00002$) from t