構建具有各種WHERE條件的sql的最佳方式是什麼? 我的解決方案看起來醜陋:更優雅的方式來構建SQL添加WHERE並使用佔位符
my ($where, @values);
if ($phone_number)
{
$where = 'AND pnone_number=?';
@values = ($from, $till, $phone_number);
}
else
{
$where = '';
@values = ($from, $till);
}
my $sql = 'SELECT * FROM calls WHERE time between ? AND ? '.$where.' ORDER BY time';
my $res = $dbh->selectall_arrayref($sql, undef, @values) or warn 'error';
SQL ::設備將抽象掉在SQL Details。 – DavidO