7.2 明示的なデータ型変換関数
この項では、SQLおよびPL/SQLでCLOB
、NCLOB
およびBLOB
データ型と他のデータ型との間でデータを変換するための明示的な変換関数について説明します。
-
TO_CLOB()
:VARCHAR2
、NVARCHAR2
またはNCLOB
からCLOB
に変換します -
TO_NCLOB
:VARCHAR2
、NVARCHAR2
またはCLOB
からNCLOB
に変換します -
TO_BLOB(varchar|clob, destcsid,[mime_type])
: オブジェクトを現在の文字セットからdestcsid
内の指定された文字セットに変換します。結果として作成されるオブジェクトはBLOB
です。次に、この変換関数の様々な使用方法を示します。TO_BLOB(character, destcsid)
TO_BLOB(character, destcsid, mime_type)
TO_BLOB(clob, destcsid)
TO_BLOB(clob, destcsid, mime_type)
destcsid
が0の場合、データベース文字セットIDに変換されます。パラメータmime_type
は、Secure FileLOB
列に対するINSERT
文およびUPDATE
文にのみ適用できます。mime_type
パラメータをSELECT
文、一時LOB
またはBasicFile LOBで使用した場合、無視されます。 TO_BLOB(varchar)
:BLOB
に変換する前に入力をRAW
に変換します。つまり、TO_BLOB(HEXTORAW(varchar))
とTO_BLOB(varchar)
は同じです。ノート:
TO_BLOB(CLOB)
はサポートされていません。-
TO_CHAR()
:CLOB
からCHAR
型に変換します。このファンクションを使用してキャラクタLOBをデータベース文字セットに変換すると、変換するLOB値がターゲットの型よりも大きい場合、エラーが戻されます。暗黙的な変換でも、LOBデータが適合しない場合はエラーが発生します。 -
TO_NCHAR()
:NCLOB
をNCHAR
型に変換します。このファンクションを使用して文字LOBを各国語文字セットに変換する際、変換するLOB値がターゲットのデータ型よりも大きいと、データベースからエラーが返されます。暗黙的な変換でも、LOBデータが適合しない場合はエラーが発生します。 -
CAST
は、LOBデータ型のいずれも直接的にサポートしていません。CAST
を使用してCLOB
値を文字データ型に変換する場合、NCLOB
値を各国語キャラクタ・データ型に変換する場合、またはBLOB
値をRAW
データ型に変換する場合に、データベースが暗黙的にLOB値を文字データまたはRAWデータに変換し、結果の値を明示的にターゲットのデータ型にキャストします。結果値がターゲットの型より大きい場合、エラーが戻されます。
親トピック: LOBに対するPL/SQLセマンティクス