早教吧 育儿知识 作业答案 考试题库 百科 知识分享

pl/sqlsum后相减最后两位为0大体意思是:sql语句类似于selectsum(a),sum(b),sum(a)-sum(b)fromtable;sum(a),sum(b)得出的数值较大,且有小数位,在列出的结果sum(a)-sum(b)中,小数位省略了,个位和十位都为零,

题目详情
pl/sql sum后相减最后两位为0
大体意思是:sql语句类似于
select sum(a),sum(b),sum(a)-sum(b) from table ;
sum(a),sum(b)得出的数值较大,且有小数位,在列出的结果sum(a)-sum(b)中,小数位省略了,个位和十位都为零,就像是四舍五入进了百位,该怎么解决?
▼优质解答
答案和解析
试试这个 select sum(a),sum(b),cast(sum(a) as number(18,2))-cast(sum(b) as number(18,2)) from table ;
不满足的话调整number(18,2)中的两个数.
number(
,)
精度p取值范围1~38
有效位s取值范围-84~127
最高整数位数=p-s
s正数,小数点右边指定位置开始四舍五入
s负数,小数点左边指定位置开始四舍五入
s是0或者未指定,四舍五入到最近整数
当p小于s时候,表示数字是绝对值小于1的数字,且从小数点右边开始的前s-p 位必须是0,保留s位小数.