Postgresql Postgres:如果列包含null,则使用false更新布尔列

Postgresql Postgres:如果列包含null,则使用false更新布尔列,postgresql,Postgresql,我有一个名为test的现有表,它有两个列id和id 这里,我的表中包含三个值null、false和true。此处null是已使用的默认值 我想用useded false更新行,其中useded为null,所以我在Postgres中尝试了下面的查询,但它对我不起作用 update test set utilized=false where utilized=null; 必须使用IS NULL检查是否存在NULL值: UPDATE test SET utilized = false WHERE

我有一个名为test的现有表,它有两个列id和id

这里,我的表中包含三个值null、false和true。此处null是已使用的默认值

我想用useded false更新行,其中useded为null,所以我在Postgres中尝试了下面的查询,但它对我不起作用

  update test set utilized=false where utilized=null;

必须使用
IS NULL
检查是否存在
NULL
值:

UPDATE test
SET utilized = false
WHERE utilized IS NULL;
在SQL中,与Java或C#等其他地方不同,
NULL
是一个特殊值,意思类似于“未知”。因此,使用
=
运算符将列与
NULL
进行比较也是未知的,因为它可能是真的,也可能不是真的。相反,使用
为空
为非空
直接将列与
为空
进行比较