У меня есть таблица MySQL с INT
столбцом c
, значение которого равно 0 или больше.
Мой оператор SELECT
содержит переменную $x
для запроса к таблице, которая являетсялибо 1, либо 0. Я хочу иметь возможность сопоставлять записи, где c
= 0, если $x
равно 0, или c
> = 1, если $x
равно 1.
Вот как яВ настоящее время я делаю это в Perl:
my $x; # 1 or 0
my $c_statement;
if ($x==0){$c_statement = 'c = 0'}else{$c_statement = 'c >= 1'};
my $sth = "SELECT * FROM table WHERE $c_statement";
Есть ли более удобный способ сделать это без необходимости предварительно оценивать $x
или с использованием предложений IF
в операторе WHERE
?