6

尝试返回特定字段为空或不为空的所有行。

select * from ADDRESS where addr1 = null;  

或者

select * from ADDRESS where addr1 = 'NULL';  

addr1 可以是布尔值或文本字段。

我试过!= null, is null, <> null, 和isnull(addr1, 'NULL')

但我明白了

no viable alternative at input '='

或者

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

使用 Cassandra 1.1.1 和 Java 1.7_05

4

2 回答 2

6

CQL 没有 NULL 的概念(见CASSANDRA-3783)。相反,正确的做法取决于您的具体情况。

于 2012-08-03T21:58:32.857 回答
0

一种方法是使用 cqlsh 选择所需的列 - 通常是使用 -e 选项的主键和感兴趣的列,并使用 grep 来识别空条目。在查询中也设置“分页关闭”以获取所有结果,否则默认情况下仅返回 100 行。

cqlsh <ip> -u <user name> -p <password> -e "paging off;select * from ADDRESS where addr1 = null;" | grep null

于 2021-07-07T09:10:37.473 回答