我想从ArkivDate
为空的数据库中选择行。
我试过了:
SELECT
*
FROM
[Bums].[dbo].[Items]
INNER JOIN
[Bums].[dbo].[ItemsArkivFormUsed] ON [Bums].[dbo].[ItemsArkivFormUsed].[ItemNumber] = [Bums].[dbo].[Items].[ItemNumber]
WHERE
[Bums].[dbo].[ItemsArkivFormUsed].[ArkivDate] = null
如果删除WHERE
子句,查询有效,但当我包含它时,结果返回空。
我想知道,我错放了WHERE
吗?
这些表确实有一些空ArkivDate
但我的查询无法过滤只显示它们
我可以帮助我吗
答案 0 :(得分:2)
NULL
在sql中是一个奇怪的野兽,当IS NULL
设置为on时,您需要使用语法= NULL
而不是ANSI_NULLS
,这是默认值。< / p>
SELECT * FROM [Bums].[dbo].[Items]
INNER JOIN [Bums].[dbo].[ItemsArkivFormUsed]
ON [Bums].[dbo].[ItemsArkivFormUsed].[ItemNumber] = [Bums].[dbo].[Items].[ItemNumber]
WHERE [Bums].[dbo].[ItemsArkivFormUsed].[ArkivDate] IS NULL
有关详细信息,请参阅SET ANS_NULL
上的文档