目前我正在使用
If @City > 0 then
SELECT * FROM table1 Where Column1 < @City
ELSE
SELECT * FROM table1
如何在单个查询中达到相同的效果?
目前我正在使用
If @City > 0 then
SELECT * FROM table1 Where Column1 < @City
ELSE
SELECT * FROM table1
如何在单个查询中达到相同的效果?
您只需将条件放入查询中:
select *
from table1
where ( @city > 0
and column1 < @city )
or @city <= 0
但请注意;这可能会稍微混淆优化器,这可能会降低您的第一个查询的性能。与实施前的所有测试一样。
尝试这个:
select *
from table1
where column1 < @city
or @city <= 0
另一种选择
SELECT *
FROM table1
WHERE Column1 < CASE WHEN @City > 0
THEN @City
ELSE Column1 + 1 END