2

私のcassandra(columnfamily)テーブルには、フィールド「message1」とフィールド「message2」があります。message1 + space + message2 が特定の値であるすべてのレコードを選択したいと思います。

mysqlのようにselectステートメントで2つのフィールド(メッセージ1 +メッセージ)を1つに連結またはマージするにはどうすればよいですか

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

2 に答える 2

4

あなたの質問に答えるには: これは現時点では Cassandra では不可能です。

詳細に説明すると、CQL はあらゆる種類の機能に対して非常に限定的なサポートしか提供していません。実際、現在の仕様では、そのうちの 3 つしか定義されていません: http://cassandra.apache.org/doc/cql3/CQL.html#functions

また、CQL で複雑な処理やフィルタリングを行うことを期待しないでください。クエリを参照すると、CQL には「like」などの操作はありません。

データをバッチで取得し、すべての処理をクライアント側で実行するか、逆に Cassandra に挿入する前に必要に応じてデータを処理することをお勧めします。SQL のようなロジックを CQL に変換しようとすると、行き詰まりに陥るだけです。

お役に立てれば。

于 2013-09-27T07:11:04.910 に答える