Referring to a previous question, i was wondering if its always possible to replace DECODE by CASE and which one is better for performance?
See Question&Answers more detail:osThere is one big difference between DECODE
and CASE
and it has to do with how NULLs
are compared. DECODE
will return "true" if you compare NULL
to NULL
. CASE
will not. For example:
DECODE(NULL, NULL, 1, 0)
will return '1'.
CASE NULL
WHEN NULL THEN 1
ELSE 0
END
will return '0'. You would have to write it as:
CASE
WHEN NULL IS NULL THEN 1
ELSE 0
END