You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用CQL将Cassandra的Map类型Blob记录转换为文本?

正确解决方法

针对你的表结构,要把Blob类型的map值转成字符串,正确的查询语句如下:

SELECT blobastext(":attrs"['key_name']) FROM my_table;

注意事项:

  • 原语句报错大概率是因为函数名大小写问题,Cassandra/ScyllaDB这类兼容CQL的数据库,官方转换函数是小写的blobastext(虽然CQL本身对函数名大小写不敏感,但部分客户端可能要求严格小写)。
  • 列名:attrs包含特殊字符,必须用双引号包裹才能被数据库正确识别。
  • blobastext会按UTF-8编码把二进制Blob转成字符串,要确保插入数据时用的编码和转换时一致,避免出现乱码。

如果你的数据库不是CQL兼容类型(比如MySQL),可以用CAST或CONVERT函数实现转换:

SELECT CAST(`:attrs`->>'key_name' AS CHAR) FROM my_table;

内容的提问来源于stack exchange,提问作者java_doctor_101

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 02:54:53