2013-09-27 37 views
0

在我的cassandra(columnfamily)表中,我有一個字段「message1」和一個字段「message2」。我想選擇message1 + space + message2是特定值的所有記錄。CQL-在SELECT語句中組合兩個字段

我如何Concat的或合併兩個字段(MESSAGE1 +消息)爲一個在SELECT語句在MySQL

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

回答

1

要回答你的問題:目前在Cassandra中這是不可能的。

詳細說明,CQL對任何類型的函數的支持都非常有限。實際上,目前的規範只定義了其中的三個:http://cassandra.apache.org/doc/cql3/CQL.html#functions

另外,不要指望在CQL中做任何複雜的處理和過濾 - 參考您的查詢,在CQL中沒有像'like'這樣的操作。

我建議你一批檢索數據並執行你所有的處理客戶端,或者相反地處理你的數據,因爲你需要它插入到卡桑德拉之前。試圖將SQL邏輯轉換爲CQL只會讓你陷入死衚衕。

希望這會有所幫助。

+0

+1你將不得不做2個查詢來做到這一點。 –

1

@Babuķ

這取決於你如何做你的數據模型。你能在這裏粘貼用於創建表格/列族的腳本嗎?你需要使用message1來獲取數據嗎?或只是message2?