我有一个名为RATE_HISTORY
的表,其中有一个名为RATE
的字段
RATE
字段的比例为18
我正在使用ResultsetMetaData
来获取Oracle 11.2中此表中列的元数据
我在我的代码中执行以下查询:
select (RATE * 100) from RATE_HISTORY
当我执行metadata.getScale()
时,它返回0.但是,如果我执行此查询:
select RATE from RATE_HISTORY
getScale
返回正确的值(18)
有没有办法在oracle中加倍两个数字并保持比例?
答案 0 :(得分:2)
我怀疑这是因为比例是表格列的工件,而不是数据本身。从列值派生值时,会丢失该元数据。
如何使用
select RATE, (RATE * 100) from RATE_HISTORY
您可以从第一列获得比例,从第二列获得计算。
或者只是在java中进行乘法运算。
答案 1 :(得分:0)
将结果转换为select也应该有效,缺点是你必须重复列定义中的比例:
select cast(RATE * 100 as number(30, 18)) from RATE_HISTORY