【发布时间】:2017-04-17 14:44:31
【问题描述】:
我有以下情况。
如果将值传递给@UserId 参数,我需要过滤那些 用户记录。
如果没有传递任何值,那么我需要带上所有记录。
列 RecipientId 不为空。
但即使我传递了值,下面的查询也总是返回所有记录。
DECLARE @UserId INT
SET @UserId = 47
SELECT *
FROM Message MR
WHERE MR.CompanyId = 1
AND (
MR.RecipientId IS NOT NULL
OR MR.RecipientId = @UserId
)
【问题讨论】:
-
将
is not null更改为is null。 -
@user1935361
is null不显示任何记录,因为记录总是指向某个 id
标签: sql sql-server tsql sql-server-2014