如果它为null,则不要在SQL WHERE子句中包含变量

Set*_*aos 3 c# sql asp.net search

我在SQL中有一个查询,当前如果用户在文本框中输入的所有值都为null,当他们单击搜索时它将返回整个表.

SELECT Column Names
FROM TableName
WHERE
        FirstName LIKE '%' + @FirstName + '%'
        OR Surname LIKE '%' + @Surname + '%'
        OR City LIKE '%' + @City + '%'
        OR County LIKE '%' + @County + '%'
Run Code Online (Sandbox Code Playgroud)

但是,我想要做的是不包括例如FirstName搜索时是否输入任何内容.因此,如果某人决定输入" London",City那么它将仅返回包含伦敦的结果.同样,如果他们输入" John"和" London",那么我希望每个人都能在伦敦打电话给约翰.

Ran*_*ndy 7

(FirstName LIKE '%' + @FirstName + '%' OR @FirstName IS NULL )
Run Code Online (Sandbox Code Playgroud)