cassandra - CQL-在 SELECT 语句中组合两个字段

标签 cassandra cql

在我的 cassandra(columnfamily)表中,我有一个字段“message1”和一个字段“message2”。我想选择 message1 + space + message2 为特定值的所有记录。

如何像mysql一样在select语句中将两个字段(message1+message)连接或合并为一个字段

  select message1 + ' ' + message2 as WholeMessage 
  from MessageTable  
  where message1 + ' ' + message2 like '%MyWholeMessageString%'

最佳答案

回答你的问题:目前这在 Cassandra 中是不可能的。

详细来说,CQL 对任何类型的函数的支持都非常有限。事实上,当前规范仅定义了其中三个: http://cassandra.apache.org/doc/cql3/CQL.html#functions

另外,不要期望在 CQL 中进行任何复杂的处理和过滤 - 引用您的查询,CQL 中没有诸如“like”之类的操作。

我建议您批量检索数据并在客户端执行所有处理,或者在插入 Cassandra 之前根据需要相反地处理数据。尝试将类似 SQL 的逻辑转换为 CQL 只会让您陷入死胡同。

希望这有帮助。

关于cassandra - CQL-在 SELECT 语句中组合两个字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19043247/

相关文章:

cassandra - 使用 FIRST N 在 CQL(1.1) 中指定列范围

Cassandra cql select 查询总是抛出读取超时异常

database - Cassandra如何查询获取最新消息

java - 连接spark和cassandra时出错

cassandra - 升级Cassandra而不丢失当前数据

nosql - Cassandra 准备好迎接黄金时段了吗?

cassandra - 主键相关的CQL3查询排序时的情况和错误

node.js - Nodejs cassandra 数据类型问题

sql - Go SQL 扫描/值接口(interface)问题