我正在设置REST服务,我使用postgres作为数据存储.我想知道如何设置postgres查询以使用可选参数.即:
SELECT * from users where hair_color = $1 and eye_color = $2
$1和$2来自请求:[req.body.hair_color,req.body.eye_color]
如果用户没有通过eye_color会怎么样,在这种情况下我想要所有的眼睛颜色.我假设我不必在这里制作一堆if / else语句.创建此查询的简洁方法是什么?
在这里,我使hair_color和eye_color都可选. (通过你的语言相当于NULL).
SELECT * from users where ($1 is null or hair_color = $1) and ($2 is null or eye_color = $2);