For dette simple tilfælde i dit spørgsmål skal du bare bruge
IF ( @place IS NULL )
SELECT *
FROM table1
ELSE
SELECT *
FROM table1
WHERE country = @place
Hvis din faktiske situation er mere kompleks, kan du bruge
select *
from Table1
where @place is null or [email protected]
option (recompile)
Årsagen til at have brug for recompile
tip er at undgå at have en enkelt plan, der dækker begge tilfælde og at lave en unødvendig scanning i tilfælde af, at du angiver en eksplicit værdi.
Disse og andre alternativer såsom generering af forespørgslen dynamisk diskuteres i detaljer i artiklen Dynamisk søgning Betingelser i T-SQL