BLOBカラムの作成

BLOBデータ型は、16進数の定数を表します。

BLOBデータ型は、0[xX](hex)+で定義される16進数の定数を表します。ここで、hexは[0-9a-fA-F]などの16進文字です。たとえば、0xcafeなどです。BLOBの理論上の最大サイズは2 GBです。ただし、BLOBサイズの現実的な制限は1 MB未満です。BLOB型は、小さなイメージまたは短い文字列を格納するのに適しています。

BLOB変換関数

これらの関数は、ネイティブの型をバイナリー・データ(BLOB)に変換します。
  • typeAsBlob(value)
  • blobAsType(value)
CQLでサポートされている、BLOB以外のすべてのネイティブのデータ型に対して、typeAsBlob関数はそのデータ型の引数を受け取り、その引数をBLOBとして返します。これとは逆に、blobAsType関数は、64ビットのBLOB引数を受け取り、可能な場合、その引数を指定したデータ型の値に変換します。

以下の例は、bigintAsBlobの使用方法を示します。

CREATE TABLE bios ( 
   user_name varchar PRIMARY KEY, 
   bio blob
 );

INSERT INTO bios (user_name, bio) VALUES ('fred', bigintAsBlob(3));
 
SELECT * FROM bios;
 
 user_name | bio
-----------+--------------------
      fred | 0x0000000000000003
      

以下の例は、blobAsBigIntの使用方法を示します。

ALTER TABLE bios ADD id bigint;

INSERT INTO bios (user_name, id) VALUES ('fred', blobAsBigint(0x0000000000000003));

SELECT * FROM bios;

 user_name | bio                | id
-----------+--------------------+----
      fred | 0x0000000000000003 |  3