pgsql case when
时间: 2024-02-28 19:51:19 浏览: 140
在 PostgreSQL 中,CASE WHEN 是一种条件表达式,用于根据不同的条件返回不同的结果。它的语法如下:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
```
其中,condition1、condition2等是条件表达式,result1、result2等是对应条件为真时返回的结果。ELSE 子句是可选的,用于指定当所有条件都不满足时的默认返回结果。
CASE WHEN 可以嵌套使用,形成复杂的条件判断逻辑。例如:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN
CASE
WHEN sub_condition1 THEN sub_result1
WHEN sub_condition2 THEN sub_result2
...
ELSE sub_result
END
...
ELSE result
END
```
这样可以根据不同的条件组合返回不同的结果。
相关问题:
1. PostgreSQL 中的 CASE WHEN 语句的语法是什么?
2. CASE WHEN 可以嵌套使用吗?
3. CASE WHEN 的作用是什么?
相关问题
pgsql case when示例
在 PostgreSQL 中,CASE WHEN 表达式是一种条件语句,用于根据一个或多个条件执行不同的操作。以下是 CASE WHEN 表达式的示例:
```
SELECT
name,
grade,
CASE
WHEN grade >= 90 THEN 'A'
WHEN grade >= 80 THEN 'B'
WHEN grade >= 70 THEN 'C'
WHEN grade >= 60 THEN 'D'
ELSE 'F'
END AS letter_grade
FROM
students;
```
在上面的示例中,我们使用 CASE WHEN 表达式将学生的分数转换为字母等级(A、B、C、D、F)。对于每个学生,我们检查他们的分数,并根据其值执行相应的操作。
pgsql case when用法
在PostgreSQL中,CASE WHEN是一个条件表达式,用于根据给定的条件返回不同的结果。它通常与聚合函数一起使用,比如COUNT、SUM、AVG等,来根据特定的判断执行计算。
基本语法如下:
```sql
SELECT column_name,
CASE
WHEN condition THEN expression_1
WHEN condition_2 THEN expression_2
[ ... ]
ELSE default_expression
END AS new_column_name
FROM table_name;
```
在这里,`condition`是你想要检查的逻辑,如果满足这个条件,那么就执行`expression_1`;如果不满足,再检查下一个`condition_2`,依此类推。如果所有的条件都不满足,则会执行`default_expression`。
例如,如果你有一个销售表,想按产品分类统计总销售额,并对每个类别设置默认值0,你可以这样做:
```sql
SELECT product_category,
SUM(CASE WHEN sale_status = 'completed' THEN sale_amount ELSE 0 END) AS total_sales
FROM sales
GROUP BY product_category;
```
在这个例子中,只有当`sale_status`为'completed'时,才计算`sale_amount`,否则将销售额设为0。
阅读全文