次のデータベーステーブルを検討してください。
id | is_visible
________|_______________
1 | true
2 | false
3 | -- i.e. null
Is_visible = nullを持つすべての行を選択します。私は次のクエリを試しました:
SELECT * FROM tab WHERE is_visible = null; -- 0 results
SELECT * FROM tab WHERE is_visible <> true; -- only fields with false value
SELECT * FROM tab WHERE is_visible <> false; -- only fields with true
私はそれをpostgresqlとsqlサーバーで試しました
is_visible = nullの行を選択する方法は?
PostgresとSQLサーバーの両方で、
SELECT * FROM tab WHERE is_visible is null;
列の値がnullでない行を選択する場合は、is not null
演算子を使用します。
SELECT * FROM tab WHERE is_visible is not null;
nullは不明または利用できないため、SQLサーバーで2つのnull値を比較することはできません。 https://technet.Microsoft.com/en-us/library/aa196339(v = sql.80).aspx
IS NULL演算子を使用:
SELECT * FROM tab WHERE is_visible IS NULL; -- only field having null value
SELECT * FROM tab WHERE is_visible IS NOT NULL; -- fields having not null values