这是以前让我感到困惑的事情,但我从来没有找到解释。我在 SQL Server 2008 数据库中有一个类型为smallint
. 我想查找值为NULL
或空白的任何行,所以我这样说:
SELECT *
FROM products
WHERE warranty_dom IS NULL
OR warranty_dom = ''
这将返回值为 0 的行
那么为什么被0
视为等同于''
?
这是以前让我感到困惑的事情,但我从来没有找到解释。我在 SQL Server 2008 数据库中有一个类型为smallint
. 我想查找值为NULL
或空白的任何行,所以我这样说:
SELECT *
FROM products
WHERE warranty_dom IS NULL
OR warranty_dom = ''
这将返回值为 0 的行
那么为什么被0
视为等同于''
?