cassandra - Cassandra 是否允许在 where 子句中使用用户定义的函数?

标签 cassandra cql cqlsh cassandra-3.0

我创建了用户定义的函数fStringToDouble,它将字符串作为参数并返回 double 。这个用户定义的函数在 select 语句中工作得很好。

SELECT applieddatetime, fStringToDouble(variablevalue)  from my_table WHERE locationid='xyz' and applieddatetime >= '2016-08-22' AND applieddatetime < '2016-08-23' ;

当我将此用户定义的函数放入 where 子句中时,我收到语法错误 “输入时没有可行的替代方案”

SELECT applieddatetime from my_table WHERE locationid='xyz' and applieddatetime >= '2016-08-22' AND applieddatetime < '2016-08-23'and fStringToDouble(variablevalue)<6.0;

上面的查询有什么问题? Cassandra 中是否有内置函数可以将 String 转换为 Double?

最佳答案

不能在 WHERE 子句中使用用户定义的函数,只能使用某些范围查询运算符。

如果您想了解更多有关 WHERE 子句中可以执行的操作,可以查看这篇文章:http://www.datastax.com/dev/blog/a-deep-look-to-the-cql-where-clause

关于cassandra - Cassandra 是否允许在 where 子句中使用用户定义的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39087585/

相关文章:

python - Docker - 将 Cassandra 容器与另一个容器链接

unix - Cassandra 端口问题

memcached - 决定合适的键值存储 : Voldemort vs Cassandra vs Memcached vs Redis

Cassandra 数据建模

Cassandra CQL 支持 CONTAINS 否定

linux - 使用 Linux Shell 脚本远程连接到 Cassandra 实例

Cassandra 列限制

nosql - 如何按日期范围查询Cassandra

amazon-web-services - Amazon Keyspace TRUNCATE 指令不起作用

database - 用于简单消息传递应用程序的 Cassandra 数据模型