cassandra在查询条件中使用like

41ik7eoe  于 2021-06-13  发布在  Cassandra
关注(0)|答案(1)|浏览(688)

当我用cql语句从cassandra查询时:

select * from abctpl where tpl like  '1-1'

在表中,我想要的第三方物流的内容是'1-1-1',它是独一无二的。但实际上我有三排。另外两个tpl不包含字符串“1-1-1”,我猜cassandra认为“-”是通配符。如果第三方物流的字像'11111111'也可以选择。
那么如何编辑cql以使其查询准确的数据呢?

x7yiwoj4

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 做。

相关问题