在我的 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/