我想在SQL语句中执行一个有条件的where
,并使用两个不同的条件,例如伪代码:
procedure(..., bool_value IN boolean default false) is
....
begin
select * from mytable mt
where
if bool_value = true then mt.criterion_1 = value
else
mt_.criterion_2 = value; -- if boolean value is set, use criterion_1 column, otherwise use criterion_2 column
end
假设这是可能的,最好的方法是什么?
谢谢