我知道使用 IN
但是我想写一个 UDF
从2个日期返回可用于 IN
条款。
基本上,我想实现以下目标:
CREATE OR REPLACE FUNCTION date_range(start date, end date) called on null input returns set<date> language JAVA as
$$
// function implementation here that returns a list of dates between the 2 provided dates
$$
然后我运行一个cql查询
SELECT * from my_table where t_id=3 AND t_date IN (date_range('2010-01-01', '2019-01-10');
表结构的位置
CREATE TABLE test ( t_id number, t_date date, t_value number) primary key ((t_number, t_date));
我有什么办法可以做到吗?
1条答案
按热度按时间krugob8w1#
在cassandra中不能这样做-udf主要应用于单个列。在where中有一个jira用于支持udf,但它仍然是开放的:https://issues.apache.org/jira/browse/cassandra-8488
我建议在应用程序中生成此列表,并将其用于准备好的查询—从性能Angular 来看,它可能更有效。