postgreSQLで検索項目がNULL(未設定)でなければ曖昧検索を行う
検索画面で設定した項目をもとにpostgreSQLからデータを取ってくる
という処理をjavascriptで行っています。
以下のようなSQLを発行するとuserIdが"NULL"の場合は全件、"001"の場合は"001"のレコードを取得することができました。
var userId = '001';
var sql = "SELECT * FROM user_info WHERE user_id = COALESCE('"+ userId + "', user_id);";
これを利用しuserIdに"1"が設定された場合、は"1"で曖昧検索を行い、
"NULL"が設定された場合は全件検索を行いたいのですが可能でしょうか。
以下のような分岐を使う方法では項目が多い場合などコード量が増えてしまうのでなるべく避けたいです。
var sql = "SELECT * FROM user_info "
if (userId != null) {
sql = sql + "WHERE user_id ='" + userId + "'";
}