1

null 値と「非アクティブ化」などの他の値を持つ列があります。「WHERE フィールド <> '非アクティブ化」というクエリを作成しようとしていますが、空の結果セットが返されます。私の調査によると、null 値と比較できないことが原因のようです。しかし、私はそれを回避する方法を理解できませんでした。ありがとう

4

4 に答える 4

4

結果セットに null を含める必要があるように思われるため、正しい条件は次のようになります。

WHERE field <> 'deactivated' OR field IS NULL
于 2012-12-12T20:52:12.060 に答える
1

NULL具体的に探してみてください:

WHERE field <> 'deactivated' OR field IS NULL

参考までに、は何にも等しくないIS NOTため、比較演算子ではなく and を使用する必要があります。NULLさらに別NULL;

于 2012-12-12T20:48:09.147 に答える
1

MySQL を使用しているため、"equal to"演算子を使用できます。

WHERE NOT(field <=> 'deactivated')

他の、より SQL 標準に準拠したデータベースでは、次のように記述します。

WHERE field IS DISTINCT FROM 'deactivated'

最近、さまざまなデータベースでサポートされている方法についてのブログ記事を書きました。DISTINCT predicate

于 2012-12-12T20:55:54.323 に答える
1

MySQL の「null-safe equal」演算子 <=>を使用できます。

WHERE NOT field <=> 'deactivated'
于 2012-12-12T20:56:31.093 に答える