评估为NULL

时间:2017-12-19 15:54:31

标签: sql database oracle12c

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

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

1 个答案:

答案 0 :(得分:1)

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

一些引言:

  

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

     

...

     

以下每项比较的结果都是未知的:

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

...

     

另一种看待它的方法是通过调用random()函数来精神上替换每个null。