2012-08-03 43 views
6

嘗試返回特定字段爲空或非空的所有行。CQL:無法檢入「Where」子句

select * from ADDRESS where addr1 = null; 

select * from ADDRESS where addr1 = 'NULL'; 

ADDR1可以是一個布爾或文本字段。

我試過!= nullis null<> null,並isnull(addr1, 'NULL')

,但我得到

no viable alternative at input '=' 

no index columns present in by-columns clause with "equals' operator" 

使用卡桑德拉1.1.1 &的Java 1.7_05

回答

6

CQL不具有NULL的概念(請參閱CASSANDRA-3783)。正確的做法取決於你的特殊情況。

+0

所以如果我升級到Cassandra 1.2和CQL 3.0,這會解決我的問題嗎? – Snake 2012-08-06 06:04:30

+0

不能肯定地說。 Cassandra 1.2尚不存在,因此不能保證將實施哪些門票。無論如何,它不應該*必須*升級到1.2來解決你的問題。 – 2012-08-07 07:09:14

+0

對不起,我是卡桑德拉1.1.2。正如我今天看到的,它們在1.1.3上。我會更新Cassandra並嘗試它。 – Snake 2012-08-09 16:07:56