makotan _at_ gmail dot com

SQLだけで 2WAY SQLっぽいことをやる

ぼんやりしてたらなんとなくイメージが沸いたのでちょっとやってみた

完全に同じ事が出来るかというと...微妙なのでっぽいこと

確認したのはpostgresqlだけ

 

select * from table1
 where (:v is null OR field = :v)

 

ちょっとだけメモ

:v に null を入れるとis null がtrue になって、この()内の条件が常にtrueになる

:v が null 以外の時は field との比較になるので比較条件がチェックされる