UTL_RAW システムパッケージは、RAW データ型を操作するためのSQL関数を提供します。
通常のSQL関数はRAW データに対して操作できず、PLではRAW と CHAR データ型間のオーバーロードが許可されないため、UTL_RAW システムパッケージは不可欠です。
UTL_RAW はデータベース環境での使用に限定されていないため、このシステムパッケージには DBMS ではなくプレフィックス UTL が付けられています。
機能の適用範囲
この内容はOceanBaseデータベースEnterprise Editionにのみ適用されます。OceanBaseデータベースCommunity EditionはMySQLモードのみを提供します。
UTL_RAWの使用方法
UTL_RAW は、複数の要素で構成される RAW レコードを許可します。RAW データ型を使用することで、文字セット変換が実行されず、リモート呼び出し時に RAW の元の形式が維持されます。
UTL_RAWサブプログラムの概要
次の表は、OceanBaseデータベースの現在のバージョンでサポートされているUTL_RAWサブプログラムとその簡潔な説明を示しています。
サブプログラム |
説明 |
|---|---|
| BIT_AND | RAW r1 と RAW r2 の値に対してビット単位の論理「AND」を実行し、元の「AND」結果を返します。 |
| BIT_COMPLEMENT | RAW r の値に対してビット単位の論理「補数」を実行し、「補数」結果 RAW を返します。 |
| BIT_OR | RAW r1 と RAW r2 の値に対してビット単位の論理「OR」を実行し、元の「OR」結果を返します。 |
| BIT_XOR | RAW r1 と RAW r2 の値に対してビット単位の論理「XOR」を実行し、元の「XOR」結果を返します。 |
| CAST_FROM_BINARY_DOUBLE | BINARY_DOUBLE 値を RAW のバイナリ形式で返します。 |
| CAST_FROM_BINARY_FLOAT | BINARY_FLOAT 値を RAW のバイナリ形式で返します。 |
| CAST_FROM_BINARY_INTEGER | BINARY_INTEGER 値を RAW のバイナリ形式で返します。 |
| CAST_FROM_NUMBER | NUMBER 値を RAW のバイナリ形式で返します。 |
| CAST_TO_BINARY_DOUBLE | RAW のバイナリ形式で表される BINARY_DOUBLE 値を BINARY_DOUBLE に変換します。 |
| CAST_TO_BINARY_FLOAT | RAW のバイナリ形式で表される BINARY_FLOAT 値を BINARY_FLOAT に変換します。 |
| CAST_TO_BINARY_INTEGER | RAW のバイナリ形式で表される BINARY_INTEGER 値を BINARY_INTEGER に変換します。 |
| CAST_TO_NUMBER | RAW のバイナリ形式で表される NUMBER 値を NUMBER に変換します。 |
| CAST_TO_RAW | VARCHAR2 値を RAW 値に変換します。 |
| CAST_TO_VARCHAR2 | RAW 値を VARCHAR2 値に変換します。 |
| COPIES | r の n 個のコピーを連結して返します。 |
| COMPARE | RAW r1 と RAW r2 を比較します。 |
| CONCAT | 最大 12 個の RAW を 1 つの RAW に連結します。 |
| LENGTH | RAW r のバイト長を返します。 |
| REVERSE | RAW r 内のバイトシーケンスを端から端まで逆転します。 |
| SUBSTR | len バイト、RAW r の pos ポジションから返します。 |
| TRANSLATE | RAW 型データをバイトごとに変換するために使用されます。 |