Oracle 11g: 次の 2 つの CASE ステートメントを検討してください。
検索されたケース
with null_table as (select null as null_set from dual )
select
case
when (null_set is null) then 'NULL INDEED'
else 'NOTNULL?'
end as AM_I_NULL_OR_NOT
from null_table
シンプルなケース
with null_table as (select null as null_set from dual )
select
case null_set
when (null) then 'NULL INDEED'
else 'NOTNULL?'
end as AM_I_NULL_OR_NOT
from null_table
Searched CASEでは null_setが期待どおりに評価されますが、Simple CASE ではそうではないようです。
質問: null_setで単純な CASE 評価を実行するにはどうすればよいですか?
Simple CASE がそのように評価されるのはなぜですか?