【发布时间】:2020-02-11 00:50:50
【问题描述】:
我的公司正在从 Oracle 数据库解决方案过渡到雪花数据仓库。我正在将我们的用户定义的 oracle 函数转换为雪花用户定义的函数。如果传递的值是数字,我们在 oracle 中的一个函数将返回 1,如果传递的值是非数字,则返回 0。
更具体地说,我想在 value 列中包含数值时更新列 (x_value)。例如,如果我在行中有一个名为 creditscore 的字段,其值为 700、599、“无记录”,我需要使用数值更新一个字段 (xscore),并将 xscore 字段中的非数字 creditscore 保留为空。
我是 javascript 的新手(好吧,并不是完全是新的——我今天一整天都在使用它),但运气不好。这是基本功能:
CREATE OR REPLACE FUNCTION isnum(x variant)
RETURNS integer
LANGUAGE javascript
'
IF (isNan(x))
{
RETURN 1;
}
ELSE RETURN 0;
';
我也尝试过 typeof,但得到了同样的错误,如下所示:
SQL Error [1003] [42000]: SQL compilation error:
syntax error line 4 at position 0 unexpected ''
IF (isNan(x))
{
RETURN 1;
}
ELSE RETURN 0;
''.
感谢您的帮助!
【问题讨论】:
标签: javascript snowflake-cloud-data-platform