問題は、Oracle(デフォルト)が空の文字列をNULL
として扱うことです。 。したがって:
where name = ''
と同じです:
where name = NULL
両方とも常に失敗します(NULL
を返すため) 。
これはさまざまな方法で修正できます。 1つの方法は次のとおりです:
where (name = INPUT or name is null and INPUT is null)
または、無効な名前があることがわかっている場合:
where coalesce(name, '<invalid>') = coalesce(INPUT, '<invalid>')