2013-02-21 27 views

答えて

11

nullを持つ任意の比較が偽である - =<>><、というように。またをINリストに使用することはできません。無視されます。さらに、2つのnullは、ではなく、であっても等しい。

ヌルを取得するには、あなたがこのように、明示的に彼らのために依頼する必要があります。

SELECT * FROM NAME WHERE FIRST IS NULL OR FIRST != '1' 
9

NULLとの比較はNULLを返します。これはFALSEと等価です。これは、等しくない真の前夜です。

where first <> '1' or first is null 

またはOracleでは

where coalesce(first, '<null>') <> '1' 
4

、nullが明示的を求めるない限り、選択するために有効な値を考慮されていません:あなたはNULL値を含める場合は

は、次のいずれかの操作を行います。それは:

select * from name where (first != '1') or first is null 

また、(合体と同様)NVLを使用することができます

select * from name where nvl(first,'0') != '1' 
2

をNULLには何か他のものと比較することはできませんので、正しいこと....

唯一のオプションOracleドキュメントのNULLによるか、またはコマンドで

SELECT * FROM NAME WHERE FIRST!=1 OR FIRST IS NULL 

がknownmない値として定義されているか、値がないときに、あなたが持っていることは、NULLチェックを含めることです意味のあるこれは、オラクルがゼロの値をNULLとみなさないという理由だけです。これはほんの一例であり、アドオンです。ありがとう!

関連する問題