バイナリー・データ型
Performance Server は、表や外部表で使用するバイナリー・データ型として 2 つのタイプをサポートしています。
タイプ | 値 |
---|---|
VARBINARY(n) | 1 から 64,000 バイトまでの可変長フィールド。 VARBINARY 型は、型固有のフィールドにバイナリー・データを格納するために使用します。必要に応じて、制限やその他の処理を列に対して適用できます。 |
ST_GEOMETRY(n) | 1 から 64,000 バイトまでの可変長フィールド。 ST_GEOMETRY データ型には、図形のバイナリー情報が保持されます。 ST_GEOMETRY 型は、空間解析機能やその他の図形解析で処理する図形データを格納して、バイナリー図形向けのデータを入れる列として区別するために便利です。 |
バイナリー・データを VARCHAR 列に格納することも可能ですが、データベース内で VARCHAR データとバイナリー・データを区別するのが困難で、処理や制限の適用も難しくなります。
バイナリー・データ型を使用する列では、一般的な照会処理操作の一部がサポートされません。 例えば、バイナリー・データ型の列を、順序付け、グループ化、大きさの比較や、sum()、avg()、distinct() などの集約関数、また、最小/最大/中央値の比較などに使用することはできません。 バイナリー・データは、暗黙的にも明示的にも他の型にキャストすることができません。
バイナリー・オブジェクトにデータを挿入するには、バイナリー・データを作成するユーザー定義関数 (UDF) などのツールを使用したり、16 進数ストリングのリテラル表記を使用して内容を指定したりできます。 16 進数ストリング・リテラルは、次の形式で表現します。
x'hexValue'
有効な 16 進数ストリング・リテラルは、先頭が大文字または小文字の x で始まる必要があり、その後に単一引用符で囲んだ 16 進文字のストリングが続きます。 各 16 進文字は、数字 0 から 9 と文字 A から F (大文字/小文字) の 2 文字のペアで表記します。 例えば、「hello」というストリングは、16 進数ストリング形式では「x'68656c6c6f'」となります。 16 進数ストリング・リテラルによる INSERT 文の例は次のとおりです。
insert into my_table values (1, x'68656c6c6f');
x という接頭部を指定しない場合、ストリングを単一引用符で囲まない場合、ストリングに奇数桁の文字が含まれている場合、いずれもその 16 進数ストリング・リテラルは無効であり、システムからエラーが返されます。