DECODE 函数可以实现类似于简单 CASE 表达式的功能:
DECODE(expression, value1, result1, value2, result2, ...[, default_result ])
该函数依次比较表达式 expression 与 valueN 的值,如果找到相等的值就返回对应的 resultN;如果没有匹配到任何相等的值,返回默认结果 default_result;如果此时没有提供 default_result,返回 NULL 值。
以下语句利用 DECODE 函数将员工的部门编号显示为相应的名称:
SELECT emp_name,
DECODE(dept_id, 1, '行政管理部',
2, '人力资源部',
3 ,'财务部',
4, '研发部',
5, '销售部',
6, '保卫部',
'其他部门') AS department
FROM employee;
该查询的结果与前文中的简单 CASE 表达式示例相同。DECODE 是 Oracle 专有函数,推荐大家使用标准的 CASE 表达式。
Oracle 中的 CASE 表达式可以根据不同条件产生不同的结果,实现类似于编程语言中的 IF-THEN-ELSE 逻辑功能。例如,根据员工的 KPI 计算相应的涨薪幅度,根据考试成绩评出优秀、良好、及格等。COALESCE 和 NULLIF 函数是两个简写形式的 CASE 表达式。另外,Oracle 还提供了专有的 NVL、NVL2 以及 DECODE 函数。
MySQL中 CASE 表达式的介绍及使用MySQL CASE表达式MySQL CASE 表达式介绍简单 ==CASE== 表达式(simple case expression)搜索 ==CASE== (Searched CASE expression)
MySQL CASE表达式
简介: 使用MySQL CASE 表达式向查询中添加if-else逻辑。
MySQL CASE 表达式介绍
MySQL case 表达式是一种控制流结构,允许你向查询条件中添加if-else逻辑。一般来说,你可以使用 case
1.1 数据库的几个重要概念
数据(data):是指所有能输入到计算机中并被计算机程序处理的符号的总称,一个数据库可以管理多种数据。
数据库(database):是指以一定方式存储在一起,能为多个用户共享,具有尽可能小的数据冗余特点,能与程序彼此独立的数据集合。一个数据库管理系统可以管理多个database。
数据库管理系统(DBMS):是一种管理数据库的软件。在o...
(1)CASE表达式可以让你可以在SQL中使用类似于if… then…else的逻辑而不需要调用程序
(2)一个简单的CASE表达式,Oracle将会搜索第一对when…then来与表达式做匹配,如果匹配了则返回表达式的值。如果没有任何一个when…then符合条件,将会执行
ELSE后面的语句,oracle将会返回else表达式的值。否则,oracle将会返回