这语句该怎么写 满期保费 = ((统计截止日期 - 保险起期 + 1)/(保险止期 - 保险起期 + 1)) * 保费收入可以直接用sql算出来吗?两个日期相减得到的是什么?可以直接参与运算吗?请各位老大指点. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 两个日期相减得到的是天数select sysdate-to_date('20060701','yyyy-mm-dd') from dual结果是:31.3752546296296lz的可以写成满期保费 = (floor((统计截止日期 - 保险起期 + 1))/floor((保险止期 - 保险起期 + 1))) * 保费收入 我把(统计截止日期 - 保险起期 + 1)和(保险止期 - 保险起期 + 1)单独计算是可以的两个相除却出现OCI-22053: 溢出错误,有什么办法解决呢? 在sql*plus里面运行没有错误,在vs2005运行就发生OCI-22053: 溢出错误 try::::::::满期保费 = ((统计截止日期 - 保险起期 + 1)/decode((保险止期 - 保险起期 + 1),0,1,(保险止期 - 保险起期 + 1)) * 保费收入 可能是小数位太多了???你用floor试试满期保费 = (floor((统计截止日期 - 保险起期 + 1))/floor((保险止期 - 保险起期 + 1))) * 保费收入 你计算后的值取两位小数就ok了吧那你把你原来的结果用round()保留两位小数 number/0当然要溢出。可以用docode处理一下decode((保险止期 - 保险起期 + 1),0,'(溢出)', (floor((统计截止日期 - 保险起期 + 1))/floor((保险止期 - 保险起期 + 1))) * 保费) 请教关于RMAN配置问题,谢谢! 向ORACLE中插入特殊字符 求助 数据库表的导入 数据库迁移,Sql2008-Oracle10G 问题 程序调用oracle存储过程如何调试?? 求SQL proc程序与数据库保持长连接 oracle+linux ad server 2.1安装配置问题专贴 oracle9i安装问题 oracle安装问题 难难,有谁使用过oracle移植工作台 写oracle的java sources,用到其他的jar 包?该怎么办?
select sysdate-to_date('20060701','yyyy-mm-dd') from dual
结果是:31.3752546296296
lz的可以写成
满期保费 = (floor((统计截止日期 - 保险起期 + 1))/floor((保险止期 - 保险起期 + 1))) * 保费收入
两个相除却出现OCI-22053: 溢出错误,有什么办法解决呢?
满期保费 = ((统计截止日期 - 保险起期 + 1)/decode((保险止期 - 保险起期 + 1),0,1,(保险止期 - 保险起期 + 1)) * 保费收入
你用floor试试
满期保费 = (floor((统计截止日期 - 保险起期 + 1))/floor((保险止期 - 保险起期 + 1))) * 保费收入
那你把你原来的结果用round()保留两位小数
可以用docode处理一下
decode((保险止期 - 保险起期 + 1),0,'(溢出)', (floor((统计截止日期 - 保险起期 + 1))/floor((保险止期 - 保险起期 + 1))) * 保费)