2012-08-03 14 views
6

Versuchen Sie, alle Zeilen zurückgeben, wo ein bestimmtes Feld Null oder nicht null ist.CQL: Kann nicht Null einchecken "Where" -Klausel

select * from ADDRESS where addr1 = null; 

oder

select * from ADDRESS where addr1 = 'NULL'; 

addr1 kann ein boolean oder ein Textfeld sein.

ich != null habe versucht, is null, <> null und isnull(addr1, 'NULL')

aber ich bekomme

no viable alternative at input '=' 

oder

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

Mit Cassandra 1.1.1 & Java 1.7_05

Antwort

6

CQL hat nicht das Konzept von NULL (noch CASSANDRA-3783). Das Richtige zu tun hängt von Ihrer speziellen Situation ab.

+0

Also, wenn ich auf Cassandra 1.2 und CQL 3.0 aktualisieren, wird dies mein Problem lösen? – Snake

+0

Kann ich nicht sicher sagen. Cassandra 1.2 existiert noch nicht, daher gibt es keine Garantie dafür, welche Tickets dafür implementiert werden. Auf jeden Fall sollte es nicht * notwendig * sein, auf 1.2 zu aktualisieren, um Ihr Problem zu lösen. –

+0

Entschuldigung, ich habe Cassandra 1.1.2. Sie sind auf 1.1.3, wie ich heute sehe. Ich werde Cassandra aktualisieren und es versuchen. – Snake