一,CASE WHEN 的表达方式有两种
--简单Case函数
CASE sex
WHEN '1' THEN '男'
WHEN '2' THEN '女'
ELSE '其他' END
--Case搜索函数
CASE
WHEN sex = '1' THEN '男'
WHEN sex = '2' THEN '女'
ELSE '其他' END
二,CASE WHEN 出现的不同位置
1.select Case WHEN的用法
SELECT grade, COUNT (CASE WHEN sex = 1 THEN 1 /*sex 1为男生,2位女生*/
ELSE NULL
END) 男生数,
COUNT (CASE WHEN sex = 2 THEN 1
ELSE NULL
END) 女生数
FROM students GROUP BY grade;
2.where Case When
SELECT T2.*, T1.*
FROM T1, T2
WHERE (CASE WHEN T2.COMPARE_TYPE = 'A' AND
T1.SOME_TYPE LIKE 'NOTHING%'
THEN 1
WHEN T2.COMPARE_TYPE != 'A' AND
T1.SOME_TYPE NOT LIKE 'NOTHING%'
THEN 1
ELSE 0
END) = 1
3.Group By Case When
SELECT
CASE WHEN salary <= 500 THEN '1'
WHEN salary > 500 AND salary <= 600 THEN '2'
WHEN salary > 600 AND salary <= 800 THEN '3'
WHEN salary > 800 AND salary <= 1000 THEN '4'
ELSE NULL END salary_class, -- 别名命名
COUNT(*)
FROM Table_A
GROUP BY
CASE WHEN salary <= 500 THEN '1'
WHEN salary > 500 AND salary <= 600 THEN '2'
WHEN salary > 600 AND salary <= 800 THEN '3'
WHEN salary > 800 AND salary <= 1000 THEN '4'
ELSE NULL END;
分享到:
相关推荐
### Oracle CASE WHEN 用法详解 #### 一、概述 在 Oracle 数据库中,`CASE WHEN` 表达式提供了一种在 SQL 查询中实现条件判断的方法,这使得开发人员能够在不使用 PL/SQL 的情况下编写更为灵活和复杂的查询语句。`...
1. CASE WHEN 表达式有两种形式 代码如下:–简单Case函数 CASE sex ... CASE WHEN 在语句中不同位置的用法2.1 SELECT CASE WHEN 用法 代码如下:SELECT grade, COUNT (CASE WHEN sex = 1 THEN 1 /*sex 1为男生,2位
在Oracle中,SUM函数可以结合CASE WHEN语句,使得条件求和变得更为灵活。 1. SUM与CASE WHEN结合使用 在描述的示例1中,我们看到了一个查询,它根据`AREA_CODE`字段对数据进行分组,并计算出`IPTV_NBR`和`ACC_NBR`...
本文将详细介绍这两个函数的用法,并结合`CASE WHEN`语句来解决特定的问题。 `SUBSTR`函数用于从一个字符串中提取指定长度的子字符串。它有两种形式: 1. `SUBSTR(string, start_position, length)` 这种形式从`...
在实际工作中,你可能还需要结合其他SQL函数,如CASE WHEN或NVL,来进一步增强DECODE的功能。例如,当你需要处理可能的NULL值时,NVL函数可以提供一个默认值,防止因NULL而导致的结果异常。 总之,Oracle的DECODE...
Oracle 中的游标(Cursor)是一种重要的数据库对象,它允许开发者在 SQL 语句中处理大量数据。游标的使用可以将复杂的数据处理过程简化,使得开发效率和代码可读性提高。下面将对 Oracle 中游标的使用进行详细的解释...
### Oracle中的Grouping功能详解 在Oracle数据库中,`GROUPING`函数被广泛应用于复杂的分组查询之中,尤其是在存储过程的开发中。本文将详细解释`GROUPING`函数的使用方法及其应用场景,并通过一个示例来帮助理解其...
在Oracle中使用`CASE`语句的方式与SQLServer类似,但需要注意Oracle中`CASE`语句的写法有所不同。例如: ```sql SELECT StuNo AS '学号', MAX(CASE WHEN Subject = '语文' THEN Score ELSE 0 END) AS '语文', ...
CASE 语句适用于分情况的多分支处理,可以有以下三种用法: 1. 基本 CASE 结构语句的语法如下: ```sql CASE 选择变量名 WHEN 表达式 1 THEN 语句序列 1 WHEN 表达式 2 THEN 语句序列 2 WHEN 表达式 n THEN 语句...
- SQL Server的`IIF()`是三元运算符的简化形式,Oracle没有直接对应,但可以用`CASE WHEN THEN END`模拟。 7. **系统信息函数** - SQL Server的`@@IDENTITY`获取最后一个插入的ID,Oracle使用`LAST_INSERT_ID()`...
5. **控制流程函数**:如 `IF()`, `CASE WHEN THEN`,实现条件判断和逻辑操作。 接下来,Oracle 数据库是企业级的 DBMS,提供了更丰富的特性和更强大的性能。在 "oracle函数大全(分类显示).chm" 文档中,我们可以...
Oracle中提供了`decode`函数用于条件判断,而在DB2中则使用`CASE WHEN THEN ELSE END`这样的结构来实现相同的功能。例如: ```sql -- Oracle SELECT decode(a.status, 1, 'Active', 0, 'Inactive') AS status_desc ...
SELECT CASE WHEN LENGTH(o.f_nodecode) > 8 THEN SUBSTR(o.f_nodecode, 1, 8) ELSE o.f_nodecode END f_nodecode FROM orgaizeation o WHERE o.f_id = 23 ) b ON a.f_nodecode = b.f_nodecode ORDER BY b.f_...
- **条件表达式**:如CASE WHEN THEN ELSE END,用于根据条件返回不同的结果。 #### 四、Oracle SQL 特色功能 - **PL/SQL**:一种过程化语言,用于扩展SQL的功能,支持复杂的逻辑处理和编程。 - **SQL*Plus**:...
在"Oracle的几个Function实例"这个主题中,我们将探讨一些常见的Oracle函数,并通过实际示例来理解它们的用法。 1. ** NVL 函数**: NVL函数用于处理空值(NULL)。如果一个字段的值为NULL,NVL函数会将其替换为你...
然而,由于函数种类繁多,且每种函数的具体用法都有所不同,因此在实际工作中容易被遗忘。接下来,本文将详细介绍Oracle中常用的几类函数及其具体应用,帮助读者更好地掌握这些功能强大的工具。 ### 一、字符串函数...
Oracle数据库系统是世界上最广泛使用的...在"oracle内置函数大全.sql"文件中,可能包含了所有这些函数的示例和用法,供用户参考和实践。通过深入研究这个文件,可以深入了解Oracle SQL的功能,并提升数据库管理技能。
Oracle数据库系统是全球广泛使用的大型关系型数据库管理系统之一,它提供了...记得在实践中不断探索,理解和掌握每个命令的用法,同时注意数据库性能优化和事务管理等关键概念,以提升你在Oracle数据库领域的专业能力。