为什么在SQL NULL中无法与NULL匹配?

Joe*_*man 13 mysql sql sql-server oracle null

我是SQL概念的新手,在研究NULL表达式时,我想知道为什么NULL不能与NULL匹配,任何人都可以告诉我一个简单的这个概念的现实世界的例子吗?

mr_*_*air 48

规则:即使NULL也不能等于NULL.

非技术方面

如果你问两个女孩,他们多大了?可能你会听到他们拒绝回答你的问题,两个女孩都给你年龄的NULL,这并不意味着两个都有相似的年龄.所以没有什么可以等于null.

  • 它在我的头脑中是有意义的:null是一个状态......不是一个值.并且值不能等于存在状态. (3认同)
  • @JoeGJoseph谢谢老兄......实际上前一天我向我办公室里的一位女士问了一个类似的问题,她拒绝回答她的生日.:P (2认同)

Dam*_*ver 15

NULL表示没有值.SQL的设计者认为,当被问及A(我们不知道它的价值)和B(我们不知道它的价值)是否相等时,它是有道理的,答案必须是UNKNOWN- 它们可能是相同的,它们可能是不是.我们没有足够的信息来决定这两种方式.

您可能想要阅读三值逻辑 - 在SQL中进行任何比较的可能结果是TRUE,FALSEUNKNOWN(mysql对待UNKNOWNNULL作为同义词.并非所有RDBMS都这样做)