0

テーブルパーソン:

name
type enum('admin','user','random') NULL DEFAULT NULL

このクエリを実行すると、タイプがNULLのレコードは返されません。

select * from person where type != 'admin';
4

2 に答える 2

1

nullは、(不)等式ステートメントではテストできません。を使用する必要がありますIS NULL。例えば

select *
from person
where (type != 'admin') or (type IS NULL)

たとえば、nullは「伝染性」です

null > x    -> null
null = x    -> null
null = null -> null
null + 1    -> null
null * 1    -> null

など...基本的に「不明」です。SQLで既知と不明を混在させると、結果は常に不明になります。したがって、特別なifnull()、coalesce()、および「ifnull」テスト/関数。

于 2012-11-15T18:15:30.703 に答える
0

MySQLではNULLの安全な等式演算子を使用できます

select *
from person
where not type <=> 'admin'
于 2012-11-15T18:16:58.330 に答える