postgresql中 case when用法
时间: 2023-04-30 21:05:55 浏览: 135
在PostgreSQL中,CASE WHEN语句被用于在查询时根据条件语句选择不同的行为。它的语法结构为:CASE WHEN condition THEN result ELSE alternate_result END。意思是,根据一个条件来执行特定的操作,如果条件不满足,就执行备选操作。例如,可以使用CASE WHEN语句在查询结果中添加一列,该列基于特定条件对数据进行分类。
相关问题
postgresql case when
以下是postgresql中使用case when的例子:
1. 使用case when进行简单条件判断:
```sql
SELECT xxmc, xxbh,
CASE
WHEN sjtzzbh = '01' THEN 1
ELSE 0
END AS sfssgx
FROM table_a;
```
2. 使用case when进行多个条件判断:
```sql
SELECT
CASE
WHEN zhid = 'cc' AND tdid = 'td01' THEN 1
ELSE 0
END AS sfpj
FROM lapos.jygw_pjdf;
```
Postgresql case when json
在 PostgreSQL 中使用 CASE WHEN 条件来处理 JSON 数据是非常常见的。
首先,你需要确保你的 PostgreSQL 版本支持 JSON 数据类型。然后,你可以使用 JSONB 类型来存储和操作 JSON 数据。
下面是一个使用 CASE WHEN 条件处理 JSON 的示例:
假设你有一个名为 "data" 的 JSONB 列,其中包含一个名为 "status" 的字段。你想根据 "status" 的值返回不同的结果。
```sql
SELECT
CASE
WHEN data->>'status' = 'active' THEN 'Active'
WHEN data->>'status' = 'inactive' THEN 'Inactive'
ELSE 'Unknown'
END AS status_description
FROM your_table;
```
在上面的示例中,我们使用了 `->>` 运算符来获取 JSON 字段的字符串值,并在 CASE WHEN 条件中进行比较。根据 "status" 字段的值,我们返回不同的描述。
你可以根据自己的需求修改上述查询,并根据 JSON 数据的结构和字段进行相应的处理。请注意,这只是一个简单的示例,你可以根据情况进行调整和扩展。