現在使用しています
If @City > 0 then
SELECT * FROM table1 Where Column1 < @City
ELSE
SELECT * FROM table1
1つのクエリで同じ効果を得るにはどうすればよいですか?
現在使用しています
If @City > 0 then
SELECT * FROM table1 Where Column1 < @City
ELSE
SELECT * FROM table1
1つのクエリで同じ効果を得るにはどうすればよいですか?
クエリに条件を入力するだけです。
select *
from table1
where ( @city > 0
and column1 < @city )
or @city <= 0
ただし、注意してください。これにより、オプティマイザが少し混乱し、最初のクエリのパフォーマンスが低下する可能性があります。すべてのテストと同様に、実装前にテストします。
これを試して:
select *
from table1
where column1 < @city
or @city <= 0
もう1つのオプション
SELECT *
FROM table1
WHERE Column1 < CASE WHEN @City > 0
THEN @City
ELSE Column1 + 1 END