使用 Null 值更新列

2022-01-17 00:00:00 sql-update sql null oracle

我尝试如下更新表格:

update userloginstats set logouttime = sysdate where logouttime = null;

它没有用空值更新列.出了什么问题?

It didn't update the columns with null values. What went wrong?

推荐答案

改成

...where logouttime is null;
                    ^^^^^^^

NULL 是一个特殊值,我们不能使用通常的 = 运算符.

NULL is a special value and we cannot use the usual = operator with it.

来自 Oracle 文档 NULL:

要测试空值,仅使用比较条件 IS NULL 和 IS NOT NULL.如果您对 null 使用任何其他条件并且结果取决于 null 的值,则结果为 UNKNOWN,因为 null 表示缺少数据, null 不能 等于或不等于任何值或到另一个空

To test for nulls, use only the comparison conditions IS NULL and IS NOT NULL. If you use any other condition with nulls and the result depends on the value of the null, then the result is UNKNOWN because null represents a lack of data, a null cannot be equal or unequal to any value or to another null

相关文章