我试图证明ruby和postgres如何处理null相等之间的区别。
例如,在ruby中,我运行nil == nil并得到true。我想尝试在postgres中运行相同类型的查询,并显示null = null为false,但不确定如何构造它。
或者显示null = null为true和null!= null也为true。
答案 0 :(得分:3)
select null = null;
?column?
----------
(1 row)
它不是假的,也不是真的,而是未定义的。
答案 1 :(得分:1)
几乎所有对postgres中的null求值都将返回null(缺少某些函数,例如concat()
)。要在评估null时返回布尔值,您必须使用IS NULL
这将返回True:SELECT NULL IS NULL
这将返回False:SELECT NULL IS NOT NULL