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