postgre case when
时间: 2023-10-08 20:14:54 浏览: 106
nacos_postgre.sql
引用: CASE WHEN语句在PostgreSQL中用于多条件查询,类似于Java的if/else语句。它的语法结构是:SELECT CASE WHEN 条件 THEN 结果 ELSE 结果 END。在查询的结果中,根据条件判断返回不同的结果。你可以在条件中使用子查询,但是要确保子查询的结果只有一条。
所以,当你在PostgreSQL中使用CASE WHEN语句时,你可以根据需要设置多个条件,并根据条件返回不同的结果。例如,你可以使用以下语句来实现多条件查询:
SELECT CASE WHEN name = '张三' THEN (SELECT name_id FROM user WHERE id = ?)
WHEN name ='李四' THEN (SELECT name_id FROM user WHERE parent_id = ?)
ELSE NULL
END
FROM person
WHERE id = ?
这个语句将根据条件判断返回不同的结果。如果name等于'张三',则返回user表中id为?对应的name_id;如果name等于'李四',则返回user表中parent_id为?对应的name_id;否则返回NULL。在person表中,根据id=?进行过滤。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [【PostgreSQL】CASE WHEN 子查询使用](https://blog.csdn.net/qq_41520636/article/details/121541592)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文