在我的cassandra(columnfamily)表中,我有一个字段“message1”和一个字段“message2”。我想选择message1 + space + message2是某个值的所有记录。
如何在select语句中将两个字段(message1 + message)连接或合并为一个,如在mysql中
select message1 + ' ' + message2 as WholeMessage
from MessageTable
where message1 + ' ' + message2 like '%MyWholeMessageString%'
答案 0 :(得分:2)
回答你的问题:目前在Cassandra这是不可能的。
详细说明,CQL对任何类型的函数都提供非常有限的支持。实际上,当前的规范只定义了其中的三个:http://cassandra.apache.org/doc/cql3/CQL.html#functions
另外,不要指望在CQL中进行任何复杂的处理和过滤 - 参考你的查询,在CQL中没有诸如'like'之类的操作。
我建议您批量检索数据并执行所有处理客户端,或者相反地在>插入Cassandra之前需要处理您的数据。尝试将类似SQL的逻辑转换为CQL只会让你陷入死胡同。
希望这有帮助。
答案 1 :(得分:1)
@Babu K
这取决于您的数据模型的执行方式。你可以在这里粘贴用于创建表/列系列的脚本吗?您是否需要能够仅使用message1获取数据?或只是message2?