traceId:a516289e-418c-4fde-985c-71fab7002186;
errMsg:数据源执行SQL失败:INTERNAL: java.lang.RuntimeException: SQL execute error by datasource... org.postgresql.util.PSQLException: ERROR: status { code: SERVER_INTERNAL_ERROR message: "[readFloatText.h:619 readDigits] HGERR_code 22P02 HGERR_msge invalid input syntax for type numeric: \"\346\263\250\345\206\214\345\245\226\345\212\261\" HGERR_end[query_id:10074955579069423]" err_data { filename: "readFloatText.h" lineno: 619 funcname: "readDigits" sqlerrcode: 33685634 message: "invalid input syntax for type numeric: \"\346\263\250\345\206\214\345\245\226\345\212\261\"" context: "[query_id:10074955579069423]" } } 在位置:[query_id:10074955579069423] org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2532) org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2267) org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:312) org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:448) org.postgresql.jdbc.PgStatement.execute(PgStatement.java...
Hologres这个报错具体是什么意思,定位到是一个聚合函数导致的,但不知道如何修改才是正确的,函数如下:
stringagg(DISTINCT CASE
WHEN t.type = 10 THEN '注册奖励'
WHEN t.type = 20 THEN '首单奖励'
WHEN t.type = 30 THEN '消费返利'
WHEN t.type = 40 THEN '排行奖励'
WHEN t.type = 50 THEN '曝光奖励'
WHEN t.type = 60 THEN '订单返利'
ELSE '其他'
END, '') AS type
我这边 2.2.3 版本执行没有报错。
n_regionkey是 int4 类型
拼接后 stringagg 是 text 类型。此回答整理自钉群“实时数仓Hologres交流群”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
本技术圈将为大家分析有关阿里云产品Hologres的最新产品动态、技术解读等,也欢迎大家加入钉钉群--实时数仓Hologres交流群32314975