diff --git a/lib/SQL/Abstract.pm b/lib/SQL/Abstract.pm index bd512cac..58244e8b 100644 --- a/lib/SQL/Abstract.pm +++ b/lib/SQL/Abstract.pm @@ -523,7 +523,7 @@ sub where { # where ? my ($sql, @bind) = $self->_recurse_where($where); - $sql = $sql ? $self->_sqlcase(' where ') . "( $sql )" : ''; + $sql = (defined $sql and length $sql) ? $self->_sqlcase(' where ') . "( $sql )" : ''; # order by? if ($order) { diff --git a/t/02where.t b/t/02where.t index 6d89b8c5..229770b6 100644 --- a/t/02where.t +++ b/t/02where.t @@ -386,6 +386,11 @@ my @handle_tests = ( stmt => " WHERE ( (NOT ( c AND (NOT ( (NOT a = ?) AND (NOT b) )) )) ) ", bind => [ 1 ], }, + { + where => \"0", + stmt => " WHERE ( 0 ) ", + bind => [ ], + }, ); for my $case (@handle_tests) {