我有以下条件。SQL Where子句如果通过值使用
如果一个值传递给@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
)
变化'不null'到'是null'。 – user1935361
@ user1935361'空'没有显示任何记录,因为记录总是指向某个ID – Developer