PHP 5.3.27 で sqlsrv ドライバーを使用しています。「is null」をパラメーターとしてクエリに渡すにはどうすればよいですか。だから代わりに
SELECT row_id FROM table WHERE name IS NULL
私は使用できます
SELECT row_id FROM table WHERE name = ?
さて... if/else 句を書くのを妨げているのは何ですか?
if($i_need_a_value) {
$query = 'SELECT row_id FROM table WHERE name = ?';
} else {
$query = 'SELECT row_id FROM table WHERE name IS NULL';
}
私は自分でそれを行う別の方法を考えました
SELECT row_id FROM table WHERE ISNULL(name,-1)=?
「-1」を条件として使用しないことが確実な場合は、これで問題ありません。値が必要な場合はパラメータを使用し、「IS NULL」が必要な場合は「-1」を使用してください。しかし、「is null」をパラメーターとして渡す方法はないと思います
次のクエリによって、特定の列が null であるか、何らかの値が含まれているかどうかを確認できます。
select row_id
from table
where (name IS NULL) or (name IS NOT NULL && name<>'');