- 主题:请教一个oracle数据库number精度的问题
有个表,字段c1为number(17,2).
我用jdbc的setDouble或者setBigDecimal函数,写入999999999999999.99,这个值。
当使用setDouble时,报错ora-01438 值大于为此列指定的允许精度。
当时用setBigDecimal,写入数据库的值,变成了1000000000000000.00,多加了一个0.01。这种情况首先值是错了,其次,长度也超过了number(17,2)的限制,居然能写入?
请教下,应该怎么正确写入这个数据。谢谢。
--
FROM 223.104.39.*
你set的是数字还是字符串?
二进制除不尽,搜一下
【 在 inmarine 的大作中提到: 】
:
: 有个表,字段c1为number(17,2).
:
: 我用jdbc的setDouble或者setBigDecimal函数,写入999999999999999.99,这个值。
:
#发自zSMTH@MI
--
FROM 106.11.196.*
Oracle有个精度长度函数,设置前先调用一下
【 在 inmarine 的大作中提到: 】
: 有个表,字段c1为number(17,2).
:
: 我用jdbc的setDouble或者setBigDecimal函数,写入999999999999999.99,这个值。
:
: 当使用setDouble时,报错ora-01438 值大于为此列指定的允许精度。
:
: 当时用setBigDecimal,写入数据库的值,变成了1000000000000000.00,多加了一个0.01。这种情况首先值是错了,其次,长度也超过了number(17,2)的限制,居然能写入?
:
: 请教下,应该怎么正确写入这个数据。谢谢。
来自 Redmi Note 7 Pro
--
FROM 117.136.0.*