Oracle case用法
时间: 2023-07-08 18:48:43 浏览: 114
Oracle中的CASE语句提供了一种灵活的方式来进行条件逻辑判断。它类似于其他编程语言中的switch语句和if语句。
下面是一个简单的示例,它使用CASE语句来根据不同的条件返回不同的结果:
```
SELECT
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 grades;
```
在上面的示例中,我们使用CASE语句来根据成绩返回字母等级。如果成绩大于或等于90,我们返回“ A”,如果成绩大于或等于80,则返回“ B”,以此类推。最后,如果成绩低于60,则返回“ F”。
CASE语句还可以与其他函数和表达式一起使用,以便进行更复杂的条件判断。例如:
```
SELECT
CASE
WHEN name LIKE 'A%' THEN UPPER(name)
WHEN name LIKE 'B%' THEN LOWER(name)
ELSE name
END as modified_name
FROM employees;
```
在上面的示例中,我们使用CASE语句根据员工姓名的首字母来修改姓名。如果姓名以“A”开头,则将其转换为大写,如果以“B”开头,则将其转换为小写,否则保留原样。
相关问题
Oracle case when用法
Oracle的case when语法可以用于在SQL查询中根据不同的条件返回不同的值。其基本语法如下:
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE default_result
END
其中,condition1、condition2等代表不同的条件,result1、result2等代表每个条件对应的返回值,default_result代表在所有条件都不成立时的默认返回值。在使用时,需要注意条件和返回值的数据类型要匹配,否则会导致错误。
oracle case when用法
Oracle 中的 CASE 语句可以在 SELECT, UPDATE 和 DELETE 语句中使用,用于实现条件选择和分类讨论。
CASE 的基本语法如下:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
WHEN condition3 THEN result3
ELSE result
END
```
每个条件 (condition1, condition2, condition3) 都是一个布尔表达式。当条件为真时,返回对应的结果 (result1, result2, result3)。如果所有条件都不成立,则返回 ELSE 子句后面的结果 (result)。
例如:
```
SELECT
CASE
WHEN salary < 10000 THEN 'Low'
WHEN salary >= 10000 AND salary < 20000 THEN 'Medium'
ELSE 'High'
END AS Salary_Range
FROM employees;
```
这条语句将查询所有员工的工资范围,并以 "Low","Medium" 或 "High"的形式返回。
CASE 还支持简略语法,语法如下:
```
CASE expression
WHEN value1 THEN result1
WHEN value2 THEN result2
ELSE result
END
```
例如:
```
SELECT
CASE gender
WHEN 'M' THEN 'Male'
WHEN 'F' THEN 'Female'
ELSE 'Unknown'
END AS Gender,
FROM employees;
```
这条语句将查询所有员工的性别, 并以 "Male","Female" 或 "Unknown"的形式返回。
阅读全文