The conditional retrieval of data is a typical requirement. You retrieve the content and make some decisions on that data in your code before using it. This is a two step process. With an Oracle database, you can achieve this in one step with a single SQL statment. The statement uses the DECODE function, which gives the equivalent of if – elseif – elseif – endif block.
SELECT DECODE(min(balance),0,0,max(balance)) from tblBankBal
First, the value of min(balance) (the first argument) is computed. It is then checked with zero(0)(the second argument). That means if (min(balance) == 0), then the third argument is returned. If they are not equal then the fourth argument is returned, in this case it will be the max(balance).
Here’s the code:
SELECT DECODE(min(balance),0,0,max(balance)) from tblBankBal