[错误记录] --- clickhouse报错Decimal value is too small
生活随笔
收集整理的這篇文章主要介紹了
[错误记录] --- clickhouse报错Decimal value is too small
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
java操作clickhouse數據庫,執行insert的時候,報錯:
Exception in thread "main" ru.yandex.clickhouse.except.ClickHouseException: ClickHouse exception, code: 69, host: xx.xx.xx.xxx, port: xxxx; Code: 69, e.displayText() = DB::Exception: Decimal value is too small (version 19.16.2.2 (official build))at ru.yandex.clickhouse.except.ClickHouseExceptionSpecifier.specify(ClickHouseExceptionSpecifier.java:58)at ru.yandex.clickhouse.except.ClickHouseExceptionSpecifier.specify(ClickHouseExceptionSpecifier.java:28)at ru.yandex.clickhouse.ClickHouseStatementImpl.checkForErrorAndThrow(ClickHouseStatementImpl.java:771)at ru.yandex.clickhouse.ClickHouseStatementImpl.getInputStream(ClickHouseStatementImpl.java:570)at ru.yandex.clickhouse.ClickHouseStatementImpl.executeQuery(ClickHouseStatementImpl.java:122)at ru.yandex.clickhouse.ClickHouseStatementImpl.executeQuery(ClickHouseStatementImpl.java:105)at ru.yandex.clickhouse.ClickHouseStatementImpl.executeQuery(ClickHouseStatementImpl.java:100)at ru.yandex.clickhouse.ClickHouseStatementImpl.executeQuery(ClickHouseStatementImpl.java:95)at ru.yandex.clickhouse.ClickHouseStatementImpl.execute(ClickHouseStatementImpl.java:196)at com.Xxx.java:102) Caused by: java.lang.Throwable: Code: 69, e.displayText() = DB::Exception: Decimal value is too small (version 19.16.2.2 (official build))at ru.yandex.clickhouse.except.ClickHouseExceptionSpecifier.specify(ClickHouseExceptionSpecifier.java:53)... 9 more分析
出現Decimal value is too small這個錯誤,肯定是Decimal類型的字段格式不對。
經檢查分析,有個字段入參的小數點后位數太多,就會報這個錯。
我們在新建表的時候,會指定Decimal類型的精度,比如Decimal(32,15);
注意這個15,如果小數點后超過15位,他就會報錯,提醒你屬性精度太小。讓你提高精度。
insert into aa(price) values(0.3499999940395356);
解決
1.可以重新設置表的屬性精度
2.如果不需要那么高的精度,可以在入庫的時候先對BigDecimal類型做個四舍五入的去精度,比如保留4位小數,結果如下:
BigDecimal auction_price = new BigDecimal(“0.3499999940395356”).setScale(4, BigDecimal.ROUND_HALF_UP);
最終auction_price=0.3500
總結
以上是生活随笔為你收集整理的[错误记录] --- clickhouse报错Decimal value is too small的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何在摆摊经济中脱颖而出
- 下一篇: [设计模式] ------ 原型模式(浅