我必须在SQL Server 2012中运行查询以从表中选择数据.有一个变量@status
.如果此变量为null,则必须返回所有数据(如果为value)
我有一个示例查询
SELECT *
FROM StatusTable
WHERE (Status = IIF(@status IS NULL, status, @status))
Run Code Online (Sandbox Code Playgroud)
当此查询@status
不为null时,此查询正常工作,但是当它为null时,它仅返回status列不为null的行.
样品表:
| id | status | Data |
|----|--------|------|
| 1 | null | a |
| 2 | ok | b |
| 3 | fail | c |
| 4 | fail | d |
| 5 | null | e |
Run Code Online (Sandbox Code Playgroud)
什么时候@status
"失败":
| id | status | Data |
|----|--------|------|
| 3 | fail …
Run Code Online (Sandbox Code Playgroud)