LoginSignup
4
1

More than 5 years have passed since last update.

SQLを動的に作る時の小技

Posted at

WHERE句にAND条件をループで出力させるときは、ループ前に1 = 1を書く。

SELECT *
FROM テーブル名
WHERE 1 = 1
<CFLOOP ループ条件>
    AND カラム名 = #変数名#
</CFLOOP>

OR条件をループで出力させる時は、ループ前に1 = 0を書く。

SELECT *
FROM テーブル名
WHERE 1 = 0
<CFLOOP ループ条件>
    OR カラム名 = #変数名#
</CFLOOP>

こうすることで、「1回目のループはANDを出力しないようにIF文を入れる」とかやらなくて済みます。
(ColdFusionで書きましたが、言語は何にでも置き換えできるかと思います)

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1