SQL Server:当@parm = -1时返回所有记录

Eya*_*yal 1 sql-server sql-server-2008

我的查询需要帮助:

当我向查询发送值为-1的参数时,我想获取所有记录(此参数不会过滤结果),否则根据值进行过滤.

我正在尝试这样的事情:

WHERE  (StatusId = CASE WHEN @StatusId = - 1 
        THEN 
        @StatusId IS NULL 
        ELSE 
        StatusId = @StatusId   END)
Run Code Online (Sandbox Code Playgroud)

谢谢.

And*_*mar 5

where  @StatusId = -1 or @StatusId = StatusId
Run Code Online (Sandbox Code Playgroud)