数据库名称:Oracle
数据库版本:??
内容/问题描述:
我的资料长相如下
Time A B
27-OCT-19 2085046 3702122
20-OCT-19 4721397 8850998
13-OCT-19 5824087 9722262
06-OCT-19 6207165 11005451
29-SEP-19 8014455 13449718
22-SEP-19 5565446 8359561
15-SEP-19 1640913 2579993
08-SEP-19 0 0
01-SEP-19 0 0
25-AUG-19 0 0
期望建立一个C字段,公式为C = (B-A) / B
由于最后三栏的资料都是零,所以会出现错误码:
ORA-01476: divisor is equal to zero
现在我的作法是拿掉那三个时间后做计算就可以了,
但是主管希望还是可以在C字段里面出现这三个时间并显示0,
请问有什么方式可以处理?
感谢指教~
现在的SQL写法:
select time, a, b, ((b - a) / b) as c
from table
where to_char(time, 'YYYYMMDD') not in ('20190825', '20190901', '20190908')
作者: cp83611 2019-10-30 23:58:00
乱写一波~select time, a, b, ((b - a) / b) as cfrom tablewhere b<>0union allselect time, a, b, '0' as cfrom tablewhere b=0