When I'm writing a query where I have a conditional clause that is a varchar, or other fixed character type that canot be NULL is it more efficient to query by " = '%' " or " = field name" ? If you know of a better way that either option below please let me know.Below is a demo of what I'm trying to do.CREATE PROCEDURE TownSearch( @StartsWith char, @Town varchar(50))....option 1:WHERE dbo.Company.CompanyName LIKE CASE WHEN @StartsWith = '~' THEN '[0-9]%' WHEN @StartsWith IS NULL THEN dbo.Company.CompanyName ELSE @StartsWith + '%' ENDAND dbo.Address.Town LIKE CASE WHEN @Town IS NULL THEN dbo.Address.Town ELSE @Town ENDoption 2:WHERE dbo.Company.CompanyName LIKE CASE WHEN @StartsWith = '~' THEN '[0-9]%' WHEN @StartsWith IS NULL THEN '%' ELSE @StartsWith + '%' ENDAND dbo.Address.Town LIKE CASE WHEN @Town IS NULL THEN '%' ELSE @Town END