我正试图在雪花中将十六进制FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF转换为十进制。预期输出为340282366920938463463374607431768211455。(它包含39位数字)当我尝试像下面这样使用雪花java函数时,输出为指数格式。问题是雪花号数据类型支持38位。
create or replace function js_hextoint (s string)
returns double language JAVASCRIPT
as
'if (S !== null)
{
output = parseInt(S, 16);
}
我使用Java雪花JDBC客户机(3.13.10)和jooq创建Javascript UDF。通过jooq构造并输入到JDBC客户机的查询字符串包括完整的JS函数体。
例如,这是在执行查询之前附加的调试器。查询内容:
CREATE OR REPLACE FUNCTION "DB_EXAMPLE"."SCHEMA_EXAMPLE"."MATCH_SCORE"(sources varchar,basescore double precision) RETURNS double precision LANGUAGE javascript AS
$$