如何在Where子句中检查ISNULL进行查询



我有一个查询,比如:

SELECT
PLIR.ListItemID AS [value],
Item.ActiveFlag,
Item.ListItemCode
FROM ListItem AS [Item] INNER JOIN ListItemRelationship AS [PLIR] ON Item.ListItemID = PLIR.ListItemID
WHERE Item.ListCode = @ListCode
AND Item.ListItemLongValue LIKE ISNULL('%'+@mask+'%', NULL)
AND Item.ListItemID IN (SELECT ITEMS FROM dbo.Split(@id, '|'))

在最后一行中,我的@id参数可以为null。如何检查@id参数的NULL?

IS NULLOR:一起使用

WHERE Item.ListCode = @ListCode
AND Item.ListItemLongValue LIKE ISNULL('%'+@mask+'%', NULL)
AND (
@id IS NULL
OR Item.ListItemID IN (SELECT ITEMS FROM dbo.Split(@id, '|'))
)

最新更新