首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Oracle SQL中的CASE表达式

在Oracle SQL中,CASE表达式是一种条件表达式,用于根据不同的条件返回不同的结果。它可以在SELECT语句、WHERE子句、ORDER BY子句和其他SQL语句中使用。

CASE表达式有两种形式:简单CASE表达式和搜索CASE表达式。

  1. 简单CASE表达式: 简单CASE表达式使用固定的值进行比较,并根据每个值返回不同的结果。它的语法如下:
代码语言:txt
复制
CASE expression
   WHEN value1 THEN result1
   WHEN value2 THEN result2
   ...
   ELSE result
END

其中,expression是要比较的表达式,value1、value2等是要比较的值,result1、result2等是对应值的结果,ELSE子句是可选的,用于指定当没有匹配的值时的默认结果。

例如,假设有一个名为"gender"的列,值为'M'和'F',我们可以使用简单CASE表达式将'M'转换为'Male',将'F'转换为'Female':

代码语言:txt
复制
SELECT name, 
       CASE gender
           WHEN 'M' THEN 'Male'
           WHEN 'F' THEN 'Female'
           ELSE 'Unknown'
       END AS gender_description
FROM employees;
  1. 搜索CASE表达式: 搜索CASE表达式使用任意的布尔表达式进行比较,并根据每个条件返回不同的结果。它的语法如下:
代码语言:txt
复制
CASE
   WHEN condition1 THEN result1
   WHEN condition2 THEN result2
   ...
   ELSE result
END

其中,condition1、condition2等是要比较的条件,result1、result2等是对应条件的结果,ELSE子句是可选的,用于指定当没有条件匹配时的默认结果。

例如,假设有一个名为"age"的列,我们可以使用搜索CASE表达式将年龄分为三个范围:18岁以下为"Underage",18到65岁为"Adult",65岁以上为"Elderly":

代码语言:txt
复制
SELECT name, 
       CASE
           WHEN age < 18 THEN 'Underage'
           WHEN age >= 18 AND age <= 65 THEN 'Adult'
           ELSE 'Elderly'
       END AS age_group
FROM employees;

CASE表达式在Oracle SQL中非常常用,可以根据不同的条件返回不同的结果,灵活性很高。在实际应用中,可以根据具体的业务需求使用CASE表达式来进行数据转换、分类、过滤等操作。

腾讯云提供了一系列与数据库相关的产品和服务,例如云数据库 TencentDB、云数据库 Redis 版、云数据库 MongoDB 版等,可以满足不同场景下的数据库需求。您可以访问腾讯云官网了解更多详情:腾讯云数据库产品

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

22分28秒

112-Oracle中SQL执行流程_缓冲池的使用

8分40秒

Java教程 6 Oracle的高级特性 12 触发器中的新旧数据 学习猿地

10分21秒

46.尚硅谷_MyBatis_动态sql_foreach_oracle下批量插入的两种方式.avi

21分15秒

016_尚硅谷_Table API和Flink SQL_Flink SQL中的窗口实现

2分18秒

IDEA中如何根据sql字段快速的创建实体类

16分16秒

111-MySQL8.0和5.7中SQL执行流程的演示

5分50秒

19_尚硅谷_MyBatis_思考:映射文件中的SQL该如何拼接

20分3秒

最新PHP基础常用扩展功能 4.正则表达式中的原子 学习猿地

23分39秒

最新PHP基础常用扩展功能 5.正则表达式中的元字符 学习猿地

16分21秒

136_第十一章_Table API和SQL(四)_流处理中的表(一)_动态表和持续查询

55分5秒

【动力节点】Oracle教程-01-Oracle概述

44分57秒

【动力节点】Oracle教程-03-简单SQL语句

领券