在这种情况下,我想返回公司 ABC... 并且联系人为空的记录。@Contact为空时它不会返回任何内容。或者任何与此相关的变量。想法?
DECLARE @Customer NVARCHAR(40) = 'ABC Company',
@Contact NVARCHAR(40) = NULL
SELECT
Company
FROM
company
WHERE
contact = @Contact AND customer = @Customer
Run Code Online (Sandbox Code Playgroud)
谢谢,EB
NULL 的特殊之处在于它意味着 UNKNOWN。
已知值(联系人)永远不会等于未知值。您需要一个 OR 语句来检查它是否相等 OR 为空
where (contact = @Contact OR (contact is null AND @Contact is null))
and customer = @Customer
Run Code Online (Sandbox Code Playgroud)
也许是这样的?