QA@IT
«回答へ戻る

回答を投稿

今回のようにWHERE句の最初の条件にIFがない場合であれば/*BEGIN*/〜/*END*/を使用する必要はありません。

単にAND emp_id in (/*$emp_id*/)/*IF*/〜/*END*/で囲むだけでOKです。

select 
  *
from 
  t_emp
where
  delete_id is null
  /*IF empIds != null*/
  AND emp_id in (/*$emp_id*/)
  /*END*/

なお、/*BEGIN*/〜/*END*/を使う場合は、WHERE句全体を囲むのが定石です。

今回のようにWHERE句の最初の条件にIFがない場合であれば`/*BEGIN*/〜/*END*/`を使用する必要はありません。  
単に`AND emp_id in (/*$emp_id*/)`を`/*IF*/〜/*END*/`で囲むだけでOKです。  
```
select 
  *
from 
  t_emp
where
  delete_id is null
  /*IF empIds != null*/
  AND emp_id in (/*$emp_id*/)
  /*END*/
```

なお、`/*BEGIN*/〜/*END*/`を使う場合は、WHERE句全体を囲むのが定石です。