SQL 쿼리에 뭔가를 전달하여 특정 열이 null 인 것만 선택할지 결정할 수 있기를 원합니다. 바운드 변수 대신 쿼리 문자열을 작성하는 경우 다음과 같은 작업을 수행합니다.Perl의 DBI에서 바인드 된 쿼리를 사용하여 null 인 행을 어떻게 선택합니까?
if ($search_undeleted_only)
{
$sqlString .= " AND deleted_on IS NULL";
}
그러나 바운드 쿼리를 사용하고 싶습니다. 이것이 최선의 방법일까요?
my $stmt = $dbh->prepare(...
"AND (? = 0 OR deleted_on IS NULL) ");
$stmt->execute($search_undeleted_only);
많은 SQL 데이터베이스가 단락 회로 (즉, 첫 번째 요소가 첫 번째 요소 인 경우 첫 번째 요소가 첫 번째 요소 인 경우 OR 구문의 후속 부분을 평가하지 않아도되므로 의미가 없으므로? 부분은 진실합니다. 아무 것도 평가할 방법이 없으므로 사실입니다.) –
로버트가 맞습니다.'? = - 1'은 먼저 가야합니다. – SquareCog
여러분들이 괜찮기를 바랍니다.하지만 답을 더 잘 만들기 위해? = - 1을 넣으려는 답을 편집 할 것입니다. –