3

私はこのサイトを見つけました:ここ

なぜそれが機能するのか、なぜ機能しないのかが非常によく説明されています。

しかし、私の質問は少し異なります。

select 'true' from dual where 'test' not in ('test2','');

このクエリが行を取得しないのはなぜですか?
のように''扱われnullますか?

あなたの助けのためのthx

4

2 に答える 2

12

あなたの疑いは正しかった。

したがって、クエリは基本的に

WHERE 'test' <> 'test2' and  'test' <> Null

次のように評価されます

WHERE true and unknown

どれがunknown

select * from dual where '' = '';

同じ(ない)結果が得られます

于 2010-08-23T15:17:13.063 に答える
2

はい、Oracle では空の文字列は NULL です。

于 2010-08-23T15:17:55.603 に答える