当我用cql语句从cassandra查询时:
select * from abctpl where tpl like '1-1'
在表中,我想要的第三方物流的内容是'1-1-1',它是独一无二的。但实际上我有三排。另外两个tpl不包含字符串“1-1-1”,我猜cassandra认为“-”是通配符。如果第三方物流的字像'11111111'也可以选择。那么如何编辑cql以使其查询准确的数据呢?
x7yiwoj41#
select * from abctpl where tpl like '1-1';
我认为这里的问题是,您没有提供类似的通配符 % . 如果您的sasi索引默认为前缀模式,那么这应该可以工作:
%
select * from abctpl where tpl like '1-1%';
查看有关使用sasi索引的datastax文档:https://docs.datastax.com/en/dse/6.7/cql/cql/cql_using/usesasiindex.html . 其中有一些查询示例,以及如何在创建索引时指定模式。让它查询准确的数据?如果你要找的是精确的数据,就用等号( = )在这方面做得比 LIKE 做。
=
LIKE
1条答案
按热度按时间x7yiwoj41#
我认为这里的问题是,您没有提供类似的通配符
%
. 如果您的sasi索引默认为前缀模式,那么这应该可以工作:查看有关使用sasi索引的datastax文档:https://docs.datastax.com/en/dse/6.7/cql/cql/cql_using/usesasiindex.html . 其中有一些查询示例,以及如何在创建索引时指定模式。
让它查询准确的数据?
如果你要找的是精确的数据,就用等号(
=
)在这方面做得比LIKE
做。