Caused by: java.lang.IllegalArgumentException: Precision[38] is out of boundary

clickhouse JDBC查询问题

     //列表sql
            String sqlList = " SELECT\n" +
                    "\t" + syncFieldMap.get("syncDateName") + " AS time,\n" +
                    "\ttoString(sum(charged_power)) AS chargedPower,\n" +
                    "\ttoString(sum(charged_time)) AS chargedTime,\n" +
                    "\ttoString(sum(record_num)) AS chargeTimes,\n" +
                    "\ttoString(sum(charged_amount)) AS electFee,\n" +
                    "\ttoString(sum(parked_amount)) AS serviceFee,\n" +
                    "\ttoString(sum(sale_amount)) AS orderTotalFee,\n" +
                    "\ttoString(sum(operator_yh_amount)) AS operatorPreferentFee,\n" +
                    "\ttoString(sum(ykc_yh_amount)) AS ykcPreferentFee,\n" +
                    "\ttoString(sum(operator_hd_discount_amount)) AS operatorDiscountFee,\n" +
                    "\ttoString(sum(ykc_hd_discount_amount)) AS ykcDiscountFee,\n" +
                    "\ttoString(sum(price_difference_sales_elec)) AS electSaleDifferenceFee,\n" +
                    "\ttoString(sum(charged_discount_amount)) AS userActualElectFee,\n" +
                    "\ttoString(sum(parked_discount_amount)) AS userActualServiceFee,\n" +
                    "\ttoString(sum(actual_pay)) AS userActualFee \n" +
                    "FROM\n" +
                    "\t " + syncFieldMap.get("syncTableName") + " t \n" +
                    "WHERE 1 = 1 ";
            StringBuilder sbList = new StringBuilder(sqlList);
            //拼接过滤条件(入参)
            handlePeriodParam(requestData, sbList, syncFieldMap);
            sbList.append(" GROUP BY " + syncFieldMap.get("syncDateName") + " ORDER BY " + syncFieldMap.get("syncDateName") + " DESC LIMIT " + page.getBeginIndex() + " , " + page.getPageSize());
            resList = statement.executeQuery(sbList.toString());

这里的toString(),就是解决问题的重点

charged_power字段设计的时候是Decimal类型

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值