评估为NULL的布尔表达式示例[关闭]

问题描述 投票:0回答:1

我理解在SQL语言中(至少在Oracle Database 12c中,我熟悉的RDBMS),布尔表达式可以计算为true,false或NULL。我理解表达式何时可以求值为true或false,但我无法理解表达式如何计算为NULL。

请解释或提供一个证明这一点的例子。

sql database oracle12c
1个回答
1
投票

我最近发现了NULL值的精彩介绍: http://modern-sql.com/concept/three-valued-logic

一些引言:

SQL null值基本上意味着“可以是任何东西”。因此无法判断与null的比较是真还是假。

...

因此,以下每个比较的结果都是未知的:

NULL = 1
NULL <> 1
NULL > 1
NULL = NULL

...

查看它的另一种方法是通过调用random()函数在心理上替换每个null。

© www.soinside.com 2019 - 2024. All rights reserved.