I have a query like:
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, '|'))
In the last line, my @id
parameter can be null. How can I check the NULL for the @id
parameter?
CodePudding user response:
Use IS NULL
with OR
:
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, '|'))
)