![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
Hi all, I'm running a simple select stmt thus: select A.value, b.value from A, B where ... However, either A.value or B.value is null and I need to select the non null value. Is there a way of specifying within pl/sql this construct? Pseudocode: Select ( if (A.value) is null and (B.value) is not null then B.value * * * * * * else * * * * * * if (B.value) is null and (A.value) is not null then A.value * * * * * * else * * * * * * if (B.value) is not null and (A.value) is not null then A.value) From A, B where ... In the third case above, either is ok so I arbitrarily cose A.value. Hope this is clean enough. Thanks in advance, Sashi |
#3
| |||
| |||
|
|
On Sep 28, 10:40*am, Sashi <small... (AT) gmail (DOT) com> wrote: Hi all, I'm running a simple select stmt thus: select A.value, b.value from A, B where ... However, either A.value or B.value is null and I need to select the non null value. Is there a way of specifying within pl/sql this construct? Pseudocode: Select ( if (A.value) is null and (B.value) is not null then B.value * * * * * * else * * * * * * if (B.value) is null and (A.value) is not null then A.value * * * * * * else * * * * * * if (B.value) is not null and (A.value) is not null then A.value) From A, B where ... In the third case above, either is ok so I arbitrarily cose A.value. Hope this is clean enough. Thanks in advance, Sashi Well, I found this nifty string function that seems to do what I need: select coalesce(A.value, B.value) from A, B where ... If there's any caveats or any other reason that I shouldn't use this, please let me know. Also any other alternatives that work are appreciated as well. TIMTOWTDI works in all areas for me. Thanks, Sashi- Hide quoted text - - Show quoted text - |
#4
| |||
| |||
|
|
On Sep 28, 10:56*am, Sashi <small... (AT) gmail (DOT) com> wrote: On Sep 28, 10:40*am, Sashi <small... (AT) gmail (DOT) com> wrote: Hi all, I'm running a simple select stmt thus: select A.value, b.value from A, B where ... However, either A.value or B.value is null and I need to select the non null value. Is there a way of specifying within pl/sql this construct? Pseudocode: Select ( if (A.value) is null and (B.value) is not null then B.value * * * * * * else * * * * * * if (B.value) is null and (A.value) is not null then A.value * * * * * * else * * * * * * if (B.value) is not null and (A.value) is notnull then A.value) From A, B where ... In the third case above, either is ok so I arbitrarily cose A.value. Hope this is clean enough. Thanks in advance, Sashi Well, I found this nifty string function that seems to do what I need: select coalesce(A.value, B.value) from A, B where ... If there's any caveats or any other reason that I shouldn't use this, please let me know. Also any other alternatives that work are appreciated as well. TIMTOWTDI works in all areas for me. Thanks, Sashi- Hide quoted text - - Show quoted text - The coalesce function is an ANSI/ISO standard function of the SQL lanaguage to return the first non-null value encountered in a list. Being part of the SQL standard I would recommend its use. HTH -- Mark D Powell -- |
![]() |
| Thread Tools | |
| Display Modes | |
| |