Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> what does decode(dual.dummy(+),'X',NULL,NULL) do exactly?

what does decode(dual.dummy(+),'X',NULL,NULL) do exactly?

From: Steve Mitchell <stevem_at_hdcsi.com>
Date: Thu, 25 Apr 2002 15:22:44 GMT
Message-ID: <8bVx8.2422$B94.556908744@newssvr13.news.prodigy.com>

Can somebody help explain why this happens:

SVRMGR> select count(*) from ar_trx_header; COUNT(*)


       929
1 row selected.
SVRMGR> select count(*) from ar_trx_header a, dual b where a.artrxhdridx = decode(b.dummy(+),'X',NULL,NULL);
COUNT(*)


       929
1 row selected.
SVRMGR> select count(*) from ar_trx_header a, dual b where a.artrxhdridx = NULL;
COUNT(*)


         0
1 row selected.
SVRMGR> select count(*) from ar_trx_header a, dual b where a.artrxhdridx = decode(b.dummy,'X',NULL,NULL);
COUNT(*)


         0
1 row selected.

..one would think that the DECODE(b.dummy(+)..) would always attempt to join the artrxhdridx to a NULL, which would always return zero rows.

Thanks in advance.

--steve Received on Thu Apr 25 2002 - 10:22:44 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US