我将sequelize
用作MySQL ORM,并且具有以下代码:
mysql().lib.query("SELECT t.id, t.address
FROM mytable t
WHERE t.fname = :fname OR t.lname = :lname",
replacements: { fname, lname })
fname
和lname
是可能未在代码中设置或设置为null
的变量。
所以我的问题是-我如何才能在WHERE
子句中使用它们中的一个或两个,但前提是它们“存在”?
(注意:其中肯定会有至少一个)
答案 0 :(得分:1)
您可以使用简单的布尔逻辑做到这一点
WHERE (:fname is null or t.fname = :fname)
AND (:lname is null or t.lname = :lname)
^------ I used AND here since it does make more sense