【发布时间】:2012-02-03 00:02:57
【问题描述】:
当我定义一个“用户定义的表类型”时,为:
CREATE TYPE [dbo].[BitType] AS TABLE(
[B] [bit] NULL
)
我在这个表变量中放置了 0 和 null。 然后我做这个查询:
SELECT something FROM theTable WHERE item IN @theBitTypeTable
只会得到item=0 而不是item is null
简单地说:SELECT something FROM theTable WHERE item IN (0, NULL) 不工作(虽然没有错误)
必须是SELECT something FROM theTable WHERE item=0 OR item IS NULL
所以,我的问题是,如果我喜欢使用用户定义的表类型,但我也需要使用 NULL 值。如何正确执行查询以获取包含空项的结果。
谢谢(顺便说一句,我使用的是 MS SQL Server 2008 R2)
【问题讨论】:
标签: sql sql-server sql-server-2008 tsql table-variable