Sql server &引用;T-SQL中的NULL是未知值“的占位符”这是什么意思?

Sql server &引用;T-SQL中的NULL是未知值“的占位符”这是什么意思?,sql-server,tsql,null,msdn,Sql Server,Tsql,Null,Msdn,在阅读这篇文章时,我遇到了一个我无法理解的句子 在“最佳实践”部分,他们说: 使用转换空值的修改语句,并包含从查询中删除具有空值的行的逻辑。请注意,在Transact-SQL中,NULL不是空值或“nothing”值。它是未知值的占位符,可能导致意外行为,尤其是在查询结果集或使用聚合函数时 谁能给我解释一下,它们是什么意思?我很困惑,因为我一直认为NULL意味着空值,或缺少值,或只是“无” 更新: 我刚找到一个新的工作。相比之下,他们发现了这一点,空!=无效的所以空值永远不能等于任何值。这是很好

在阅读这篇文章时,我遇到了一个我无法理解的句子

在“最佳实践”部分,他们说:

使用转换空值的修改语句,并包含从查询中删除具有空值的行的逻辑。请注意,在Transact-SQL中,NULL不是空值或“nothing”值。它是未知值的占位符,可能导致意外行为,尤其是在查询结果集或使用聚合函数时

谁能给我解释一下,它们是什么意思?我很困惑,因为我一直认为NULL意味着空值,或缺少值,或只是“无”

更新: 我刚找到一个新的工作。相比之下,他们发现了这一点,空!=无效的所以空值永远不能等于任何值。这是很好的观点。还有什么吗?

空值表示:“未设置值”。这就是为什么他们称之为占位符。 两个未设置的值不能相等

如果业务流程需要空“值”,或者预期结果需要空“值”,则必须处理空“值”

查看本文了解有关NULL的更多信息:

您也可以使用ISNULL(colName,0),其中0将是null的替换值。这意味着您可以比较两个都为null的值。我相信这只是想强调,它不是
int
列中的
0
,也不是
varchar
列中的零长度字符串,等等。