2

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

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

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

2 回答 2

4

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

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

另外,不要指望在CQL中做任何复杂的处理和过滤——参考你的查询,CQL中没有'like'之类的操作。

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

希望这可以帮助。

于 2013-09-27T07:11:04.910 回答
1

@巴布·K

这取决于您如何创建数据模型。您可以在此处粘贴用于创建表/列族的脚本吗?您是否需要能够仅使用 message1 来获取数据?还是只是 message2 ?

于 2013-09-27T06:54:14.237 回答