小编Roh*_*Raj的帖子

如果SQL变量为null,则选择包括null的所有数据

我必须在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)

sql sql-server sql-server-2012

1
推荐指数
1
解决办法
546
查看次数

标签 统计

sql ×1

sql-server ×1

sql-server-2012 ×1