【问题标题】:Equivalent of Number(38) in Oracle DB SQL?相当于 Oracle DB SQL 中的 Number(38)?
【发布时间】:2021-10-23 07:58:18
【问题描述】:

我正在尝试将 Oracle SQL 数据导入 Java JBDC。

Oracle 中与Number(38) 等效的Java 转换数据类型是什么?是BigInteger 还是Long

create table Customers
(
    Customer_id                   NUMBER(38)   
      

【问题讨论】:

    标签: java oracle jdbc spring-jdbc jdbctemplate


    【解决方案1】:

    long 还不够。它只有 19 位小数:

    最大值 = 2^63-1 = 9,223,372,036,854,775,807

    您需要使用BigIntegerBigDecimal 也应该没问题。

    【讨论】:

    • BigDecimal?
    • 我在下面的结果集映射器中没有看到 BigInteger,rs,BigDecimal 也可以工作吗? List customerIdList = namedParameterJdbcTemplate.query(GET_CUSTOMER_ID_QUERY, (rs, rowNum) -> rs.get.. 相关问题,stackoverflow.com/questions/68884237/…
    • cc @andrewjames 上面的评论
    • @andrewjames 你可以,但是如果你不指定小数点后的位数,它被认为是 0。
    • @talex 是的,比例(第二个参数)默认为 0,所以 NUMBER( 38 ) 实际上是一个整数(没有分数)。见documentation
    猜你喜欢
    • 2021-09-13
    • 1970-01-01
    • 2016-03-08
    • 1970-01-01
    • 1970-01-01
    • 2010-12-30
    • 1970-01-01
    • 2010-11-30
    • 1970-01-01
    相关资源
    最近更新 更多