oracle的case when then用法
时间: 2023-04-30 09:03:55 浏览: 53
Oracle的CASE WHEN THEN用法是一种条件语句,类似于if-else语句,用于对一系列可能的情况进行判断和处理。它通常用于SELECT语句中,根据不同的条件返回不同的结果。语法格式为:
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE resultN
END
其中,condition1、condition2等是条件表达式,result1、result2等是对应条件的结果。如果所有条件都不成立则返回ELSE后的结果。
相关问题
oracle case when then
在Oracle中,CASE WHEN THEN语句用于根据给定的条件确定返回值。它有两种主要的语法形式。
第一种形式是简单的CASE WHEN THEN语句,语法如下:
```
CASE search_expression
WHEN expression1 THEN result1
WHEN expression2 THEN result2
...
ELSE default_result
END
```
这种形式是根据给定的表达式确定返回值。例如,根据不同的国家确定所属的大洲,可以使用以下语句:
```
CASE country
WHEN '中国' THEN '亚洲'
WHEN '印度' THEN '亚洲'
WHEN '日本' THEN '亚洲'
WHEN '美国' THEN '北美洲'
WHEN '加拿大' THEN '北美洲'
WHEN '墨西哥' THEN '北美洲'
ELSE '其他'
END
```
第二种形式是Case搜索函数,语法如下:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE default_result
END
```
这种形式是根据给定的条件确定返回值。例如,根据不同的产品类型确定产品的类别,可以使用以下语句:
```
SELECT product_id, product_type_id,
CASE
WHEN product_type_id = 1 THEN 'Book'
WHEN product_type_id = 2 THEN 'Video'
WHEN product_type_id = 3 THEN 'DVD'
WHEN product_type_id = 4 THEN 'CD'
ELSE 'Magazine'
END
FROM products
```
这两种方式都可以实现相同的功能。简单的CASE函数写法相对简洁,但是功能上有一定的限制,它只返回第一个符合条件的值,剩下的CASE部分将会被自动忽略。而Case搜索函数则更加灵活,可以根据给定的条件确定返回值。
oracle的case when then else end用法
Oracle的CASE WHEN THEN ELSE END语句是一种流程控制语句或条件控制语句,类似于Java中的if-else if-else语句,用于根据条件进行逻辑分组或数据分析。在Oracle中,使用CASE WHEN THEN ELSE END可以根据不同的条件返回不同的结果。
下面是一些示例说明Oracle的CASE WHEN THEN ELSE END的用法:
简单CASE函数:
```sql
SELECT name,
age,
CASE sex
WHEN '1' THEN '男孩'
WHEN '2' THEN '女孩'
ELSE '其他'
END AS gender
FROM user;
```
CASE搜索函数:
```sql
SELECT name,
age,
CASE
WHEN sex = '1' THEN '男'
WHEN sex = '2' THEN '女'
ELSE '其他'
END AS gender
FROM user;
```
以上两个例子展示了如何根据性别编码将性别翻译为对应的文字。根据性别(sex)字段的值,CASE WHEN THEN ELSE END语句返回不同的结果。
通过这种方式,你可以根据不同的条件编写逻辑,对数据进行分类或分析。CASE WHEN THEN ELSE END语句在Oracle数据库入门技能中非常常见,是非常有用的工具之一。<span class="em">1</span><span class="em">2</span><span class="em">3</span>