Return SQL 存储过程参数为空时的所有结果(包括空)
Return all results (including null) when SQL stored procedure parameter is null
我有 SQL table,其中包含 ex:
的空值
ID
NAME
CODE
1
Joe
123
2
Doe
456
3
Soe
NULL
我想检查 where 子句参数是否为 null 然后 return 所有 table,我试过的是:
@devCode int = NULL
SELECT * FROM myTable WHERE CODE = ISNULL(@devCode, CODE)
但是当@devCode = NULL 时,最后一行 (ID 3) 被排除在外。当参数为空时,我希望它也包含在结果中。
p.s。我也尝试了 IIF 和 CASE,但结果是一样的。
我认为它会起作用
SELECT * FROM myTable WHERE CODE = @devCode OR @devCode IS Null
我有 SQL table,其中包含 ex:
的空值ID | NAME | CODE |
---|---|---|
1 | Joe | 123 |
2 | Doe | 456 |
3 | Soe | NULL |
我想检查 where 子句参数是否为 null 然后 return 所有 table,我试过的是:
@devCode int = NULL
SELECT * FROM myTable WHERE CODE = ISNULL(@devCode, CODE)
但是当@devCode = NULL 时,最后一行 (ID 3) 被排除在外。当参数为空时,我希望它也包含在结果中。
p.s。我也尝试了 IIF 和 CASE,但结果是一样的。
我认为它会起作用
SELECT * FROM myTable WHERE CODE = @devCode OR @devCode IS Null