gpt4 book ai didi

oracle - 设置除以 0 返回 0

转载 作者:行者123 更新时间:2023-12-02 06:12:48 26 4
gpt4 key购买 nike

我想到 PL/SQL 可能有更简洁的方法来做到这一点:

我有一个可以被零除的程序,但在所有情况下我都希望它返回 0。我当前的逻辑如下:

if bar <> 0 then
foobar := foo/bar;
else
foobar := 0;
end if;

有谁知道更简单/更便宜的方法吗?我是 PL/SQL 的新手,我看到我可以使用异常处理程序,但这似乎跳过了操作。所以我想我可以为 zero_divide 做一个异常(exception),然后就这样做:

foobar := 0;
foobar := foo/bar;

不过,我担心这并不容易理解。感谢您的任何见解!

最佳答案

尝试以下操作:

declare
foo integer := 1;
bar integer := 0;
foobar integer;
begin
foobar := case bar when 0 then 0 else foo/bar end;
dbms_output.put_line(foobar);
end;

输出:

0

关于oracle - 设置除以 0 返回 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60758380/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com