[Err] ERROR: invalid input syntax for integer: "1.0"

独自空忆成欢 提交于 2020-01-18 00:27:13

一、问题描述

       在执行查询操作时,报了这个错误,通过分析,不是sql语句语法错误,如果是sql语法错误,就会报哪一行有问题,这个一看就是查询PostgreSQL数据类型搞错了,一个不是bigint类型的数据,数据库中保存的值为 1.0 .查询的时候让其作为bigint类型导致的。sql示例:

select  (
        ext ->> 'weekly_outpatient_days'
    ) :: BIGINT AS weekly_outpatient_days from test

二、解决方案

拿到问题sql,查看哪些字段被定为bigint类型了,然后改成其他类型的,我改为numeric类型就顺利解决了。

select  (
        ext ->> 'weekly_outpatient_days'
    ) :: numeric AS weekly_outpatient_days from test

三、总结

      出现这种问题的原因还是对PostgreSQL数据类型不了解。

1、数字类型如下

2、字符串类型如下:

 

3、一般整数类型用Integer或者bigint,高精度类型用 numeric,字符串类型用text,具体的细化请查询表格。有帮助的话,欢迎关注java基础笔记公众号。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!