WHERE中的PostgreSQL动态条件

阿里·马梅多夫

我们有一张表:类别

|---------------------|------------------|
|     category_id     |        name      |
|---------------------|------------------|
|          1          |     'text 1'     |
|---------------------|------------------|
|          2          |     'text 2'     |
|---------------------|------------------|

我们需要这样做:

伪SQL代码

SELECT * FROM categories WHERE case when $1 != 0 then category_id = $1 end; 

$1 - 输入参数的值

是否可以使用一个 SQL 查询在 PostgreSQL 中执行此操作?

戈登·利诺夫

我猜你想要:

SELECT c.*
FROM categories c
WHERE $1 = 0 OR c.category_id = $1;

如果输入参数是0则返回所有行,否则返回匹配行。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章