Using the IF Condition in SQL with an Oracle Database

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
Share the Post:
Share on facebook
Share on twitter
Share on linkedin


Recent Articles: