📜  Cassandra 中的 Blob 转换函数

📅  最后修改于: 2021-09-08 16:28:10             🧑  作者: Mango

在 Cassandra 中,Blob 数据类型表示常量十六进制数据类型,数字定义为 0[xX](hex)+,其中 hex 表示十六进制。存储短字符串或小图像很有用。

在本文中,我们将讨论 Blob 转换函数,该函数将本机类型转换为二进制数据 (blob):

typeAsBlob(value)
blobAsType(value) 

让我们通过一个例子来理解。

创建表 function_test1 使用以下 CQL 查询。

CREATE TABLE function_test1 ( 
Name varchar PRIMARY KEY, 
type_value blob
 ); 

使用以下 CQL 查询将数据插入表中。

INSERT INTO function_test1 (Name, type_value) 
       VALUES ('Ashish', bigintAsBlob(5));
INSERT INTO function_test1 (Name, type_value) 
       VALUES ('Rana', bigintAsBlob(9));  

使用以下 CQL 查询读取数据。

SELECT * 
FROM function_test1; 

输出:

现在,要转换 blobAsBigint,然后首先使用以下 CQL 查询更新表。

ALTER TABLE function_test1 ADD Id bigint; 

现在,再次将数据插入到更新的表中。那么,让我们来看看。

INSERT INTO function_test1 (Name, Id) 
       VALUES ('Ashish', blobAsBigint(0x0000000000000005));
INSERT INTO function_test1 (Name, Id) 
       VALUES ('Rana', blobAsBigint(0x0000000000000009)); 

要查看最终输出,请使用以下 CQL 查询。

SELECT * 
FROM function_test1; 

输出: