我们有一个表:类别
|---------------------|------------------|
| 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中做到这一点?
答案 0 :(得分:1)
我猜你想要:
UPDATE
如果输入参数为SELECT c.*
FROM categories c
WHERE $1 = 0 OR c.category_id = $1;
,则返回所有行,否则返回匹配的行。