BusinessObjects Topics

Search This Blog

BusinessObjects Topics

Thursday, July 24, 2008

Decode Function

n Oracle/PLSQL, the decode function has the functionality of an IF-THEN-ELSE statement.

The syntax for the decode function is:

decode( expression , search , result [, search , result]... [, default] )

expression is the value to compare.

search is the value that is compared against expression.

result is the value returned, if expression is equal to search.

default is optional. If no matches are found, the decode will return default. If default is omitted, then the decode statement will return null (if no matches are found).


For example:

You could use the decode function in an SQL statement as follows:

SELECT supplier_name,
decode(supplier_id, 10000, 'IBM',

10001, 'Microsoft',

10002, 'Hewlett Packard',


'Gateway') result
FROM suppliers;

The above decode statement is equivalent to the following IF-THEN-ELSE statement:

IF supplier_id = 10000 THEN
result := 'IBM';

ELSIF supplier_id = 10001 THEN
result := 'Microsoft';

ELSIF supplier_id = 10002 THEN
result := 'Hewlett Packard';

ELSE
result := 'Gateway';

END IF;


The decode function will compare each supplier_id value, one by one.


second Example:

Using date compare two dates

Using the decode function to compare two dates (D1 and D2), where if D1 > D2, the decode function should return D2. Otherwise, the decode function should return D1.

decode((D1 - D2) - abs(D1 - D2), 0, D2, D1)

for more examples .............click to new window



1 comments:

  • Wills Marry says:
    June 20, 2021 at 3:15 AM

    This is my first time i visit here and I found so many interesting stuff in your blog especially it's discussion, thank you.

Tags