BLOBカラムの作成
BLOBデータ型は16進定数を表します。
BLOB(バイナリー・ラージ・オブジェクト)データ型は0[xX](hex)+
のように定義される16進定数を表し、ここで、hexは[0-9a-fA-F]
のような16進文字列になります。たとえば、0xcafe
などです。BLOBの理論上の最大サイズは2 GBです。ただし、BLOBサイズの現実的な制限は1 MB未満です。BLOB型は、小さなイメージまたは短い文字列を格納するのに適しています。
BLOB変換関数
これらの関数は、ネイティブの型をバイナリ・データ(BLOB)に変換したり、BLOBをネイティブの型に戻したりします。
typeAsBlob(value)
blobAsType
(value)
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