首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要帮助编写Cassandra UDF函数

需要帮助编写Cassandra UDF函数
EN

Stack Overflow用户
提问于 2019-05-13 04:29:13
回答 1查看 56关注 0票数 0

需要帮助编写一个cassandra来添加/除法/乘两个变量。尝试了下面的代码,但是它似乎不起作用。另外,我没有java方面的经验,所以我可能无法调试。在这件事上我很感激你。

代码语言:javascript
复制
CREATE FUNCTION my_adder(val1 double,val2 double )
    RETURNS double LANGUAGE java
    BODY
        return (val1 == null || val2 == null)?null:Double.valueOf( val1.doubleValue() + val2.doubleValue());
    END BODY;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-13 09:15:07

应该使用RETURNS NULL ON NULL INPUTCALLED ON NULL INPUT作为文档化的这里来处理空输入。

所以在这种情况下

代码语言:javascript
复制
CREATE OR REPLACE FUNCTION my_adder(val1 double,val2 double )
RETURNS NULL ON NULL INPUT
RETURNS double LANGUAGE java AS 'return val1 + val2;';

测试它:

代码语言:javascript
复制
create table mytable(
p int,
foo double,
bar double,
primary key (p));

insert into mytable (p, foo, bar)
values (0, 1.0, 2.0);
insert into mytable (p, foo, bar)
values (1, NULL, 2.0);
insert into mytable (p, foo, bar)
values (2, 1.0, NULL);

select p,my_adder(foo, bar) from mytable;

 p | test.my_adder(foo, bar)
---+---------------------------------
 1 |                            null
 0 |                               3
 2 |                            null
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56105766

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档