PGSQL where case when
时间: 2024-02-22 09:53:53 浏览: 126
在PGSQL中,WHERE CASE WHEN语句是一种条件表达,它允许根据不同的条件来选择不同的操作或返回不同的结果。它的语法如下:
```
SELECT column1, column2, ...
FROM table_name
WHERE CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE resultN
END;
```
在这个语法中,condition1、condition2等是条件表达式,result1、result2等是对应条件为真时返回的结果。
下面是一个示例,假设我们有一个名为students的表,其中包含id、name和age字段。我们想要选择年龄大于18岁的学生,并根据他们的年龄分别返回不同的结果:
```
SELECT id, name,
CASE
WHEN age > 18 THEN '成年'
ELSE '未成年'
END AS age_group
FROM students;
```
这个查询将返回一个结果集,其中包含学生的id、name和age_group字段。age_group字段根据学生的年龄是否大于18岁来进行分类。
相关问题
Pgsql where 中写case when
在Pgsql中,可以使用CASE WHEN语句来在WHERE子句中进行条件判断。CASE WHEN语句允许根据条件的不同返回不同的结果。
下面是一个示例,展示了如何在WHERE子句中使用CASE WHEN语句:
```
SELECT column1, column2
FROM table
WHERE CASE
WHEN condition1 THEN column1 = value1
WHEN condition2 THEN column2 = value2
ELSE column1 = value3
END;
```
在上面的示例中,根据不同的条件,WHERE子句会返回不同的过滤条件。如果condition1为真,则使用column1 = value1作为过滤条件;如果condition2为真,则使用column2 = value2作为过滤条件;否则,使用column1 = value3作为过滤条件。
请注意,CASE WHEN语句也可以在SELECT语句中使用,用于根据条件返回不同的结果列。
pgsql内case范围查询
在 PostgreSQL 中,可以使用 CASE 表达式来进行条件判断,并且可以在其中嵌套查询语句。以下是一个使用 CASE 表达式进行范围查询的示例:
```sql
SELECT *
FROM my_table
WHERE CASE
WHEN column_name BETWEEN 1 AND 10 THEN true
WHEN column_name BETWEEN 11 AND 20 THEN true
ELSE false
END;
```
在上面的示例中,我们使用了 CASE 表达式来判断列 column_name 是否在 1-10 或 11-20 的范围内,并返回 true 或 false。如果返回 true,则说明该行数据符合条件,会被 SELECT 语句查询出来。如果返回 false,则说明该行数据不符合条件,不会被查询出来。
阅读全文