Hem*_*ari 9 postgresql boolean sql-null
我有一个名为 test 的现有表,其中有两列 id 并已使用
\n\n这里使用的包含我的表中的三个值 null、false 和 true。这里null是默认使用的
\n\n我想更新使用 false 的行,其中使用的是 null,所以我在 Postgres 中尝试了下面的查询,但它对我不起作用。
\n\n update test set utilized=false where utilized=null;\n
Run Code Online (Sandbox Code Playgroud)\n
Tim*_*sen 19
您必须使用IS NULL
来检查值是否存在NULL
:
UPDATE test
SET utilized = false
WHERE utilized IS NULL;
Run Code Online (Sandbox Code Playgroud)
在 SQL 中,与 Java 或 C# 等其他地方不同,NULL
它是一个特殊值,含义类似于“未知”。因此,比较列与NULL
使用=
运算符也是未知的,因为它可能是真的,也可能不是真的。相反,使用IS NULL
或IS NOT NULL
直接将列与 进行比较NULL
。