仅在数据存在时添加条件

use*_*874 0 sql sql-server

我想WHERE只在变量有数据的情况下为子句添加一个条件.

我尝试使用以下case语句,但它有语法错误.

Declare @last_name varchar(10) = null;
Select * from TABLE1 
Where FirstName = 'John'
AND CASE WHEN @last_name IS NOT NULL THEN LastName = @last_name
Run Code Online (Sandbox Code Playgroud)

jar*_*rlh 5

Select * from TABLE1 
where FirstName = 'John'
  AND (@last_name IS NULL OR LastName = @last_name)
Run Code Online (Sandbox Code Playgroud)