Clickhouse异常:Exception: No operation equals between Decimal(X, X) and Float64

在使用clickhouse中的Decimal类型存储数字时,使用Decimal类型字段作为查询条件时,比如:

SELECT COUNT(*) AS total FROM table WHERE ( my_number=10.2)

会报错如下:Exception: No operation equals between Decimal(X, X) and Float64

原因是clickhouse会将10.2认为是float64类型,不是decimal类型,无法互转。

一般方法是可以用数据自带的转换函数,如:

SELECT COUNT(*) AS total FROM table WHERE ( my_number= toDecimal(10.2, 2))

SELECT COUNT(*) AS total FROM table WHERE ( toFloat64(my_number)= 10.2)

但是如果是在我们的mybatis-plus的wrapper条件代码里就不好用了,如:

.eq(TableModel::getMyNumber, 5.2d)

不管Decimal映射的java类型是Double还是BigDecimal都会报错,说到底它还是到数据库执行时报错了。

后来我发现,clickhouse会把字符串成功转成Decimal,而不会把数字转成Decimal,如下:

SELECT COUNT(*) AS total FROM table WHERE ( my_number= '10.2')

所以修改mybatis-plus的wrapper查询条件代码如下:

.eq(TableModel::getMyNumber, "5.2")

就可以成功了。

相关推荐

  1. clickhouse批量入库异常日志

    2024-03-23 05:10:04       42 阅读
  2. Spring (64)Spring框架如何处理异常

    2024-03-23 05:10:04       27 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-23 05:10:04       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-23 05:10:04       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-23 05:10:04       87 阅读
  4. Python语言-面向对象

    2024-03-23 05:10:04       96 阅读

热门阅读

  1. Spark面试整理-如何创建RDD

    2024-03-23 05:10:04       46 阅读
  2. 使用conda创建python 虚拟环境

    2024-03-23 05:10:04       39 阅读
  3. RUST:Arc (Atomic Reference Counted) 原子引用计数

    2024-03-23 05:10:04       41 阅读
  4. Rust 语言的 HashMap

    2024-03-23 05:10:04       43 阅读
  5. Docker

    Docker

    2024-03-23 05:10:04      40 阅读
  6. RUST: let task = &mut task.unwrap().clone();

    2024-03-23 05:10:04       46 阅读
  7. jupyter | jupyter使用conda虚拟环境

    2024-03-23 05:10:04       42 阅读
  8. docker常用命令(不断更新)

    2024-03-23 05:10:04       38 阅读
  9. c语言教务成绩管理系统1000+

    2024-03-23 05:10:04       41 阅读
  10. mac 同步安卓手机屏幕

    2024-03-23 05:10:04       41 阅读
  11. 58.最后一个单词的长度

    2024-03-23 05:10:04       39 阅读
  12. 【力扣】387. 字符串中的第一个唯一字符

    2024-03-23 05:10:04       44 阅读
  13. 机器学习流程—数据分布不均处理

    2024-03-23 05:10:04       42 阅读
  14. 机器学习概念

    2024-03-23 05:10:04       40 阅读
  15. 作为前端,如何利用机器学习

    2024-03-23 05:10:04       36 阅读