`

oracle函数之case when ...then ...else...end的使用方法

 
阅读更多

case when...then...else...end的作用和decode作用相同,废话不多说,先举一个例子:

select
SUM(CASE  WHEN ','||R1.CONCLUSION||',' LIKE '%,1,%' THEN  1 else 0 END) CONCLUSION_1,
 SUM(CASE  WHEN ','||R1.CONCLUSION||',' LIKE '%,2,%' THEN  1 else 0 END) CONCLUSION_2

from TASK_RECORD R1

  上面的字段中TASK_RECORD表中字段 CONCLUSION的存储是以1,2,3...,n这样的方式存储,先在我要统计含有1,2...,n每一个有多少条记录。因为decode方法中判断的值必须是一个确定的值,所以不能使用此方法来解决,想要解决此问题必须使用模糊查询,只要有该标号的值就加1(+1)的方式;

 

总结:此方法比起decode要复杂,并且没有那么美观,不同的是该方法支持用判断条件和模糊查询等。

分享到:
评论

相关推荐

    casewhen多条件oracle-casewhen(casewhen同时满足多条件).pdf

    在 Oracle 数据库中,CASE WHEN 语句可以分为两种格式:简单 Case 函数和 Case 搜索函数。简单 Case 函数的语法是: ```sql CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' END ``` Case 搜索函数的语法是: ```...

    Oracle_case_when_用法

    在 Oracle 数据库中,`CASE WHEN` 表达式提供了一种在 SQL 查询中实现条件判断的方法,这使得开发人员能够在不使用 PL/SQL 的情况下编写更为灵活和复杂的查询语句。`CASE WHEN` 与 `DECODE()` 函数相似,但因其符合 ...

    oracle case when 语句的用法详解

    1. CASE WHEN 表达式有两种形式 代码如下:–简单Case函数 CASE sex WHEN ‘1’ THEN ‘男’ WHEN ‘2’ THEN ‘女’ ELSE ‘其他’ END –Case搜索函数 CASEWHEN sex = ‘1’ THEN ‘男’ WHEN sex = ‘2’ ...

    oracle case语句的介绍

    SUM(CASE WHEN u.sex <> 1 AND u.sex <> 2 THEN 1 ELSE 0 END) AS 未知性别总数 FROM users u; ``` 这里,我们使用了 SUM 函数来累加 CASE 语句返回的值。当 `sex` 的值为 1 或 2 时,CASE 语句返回 1,否则返回 0...

    decode函数与case when 的妙用

    在阅读博客文章《decode函数与case when 的妙用》时,作者可能分享了一些具体的示例和使用技巧,帮助我们更好地理解和掌握这两种方法。通过学习和实践,我们可以将这些知识应用于日常的数据库操作,优化数据处理流程...

    oracle 10g函数大全.

    - `CASE WHEN condition THEN result ELSE alternative END`: 用于条件判断,根据条件返回不同结果。 以上只是Oracle 10g函数库中的一小部分,实际应用中还有许多其他函数,如窗口函数、游标处理函数、正则表达式...

    SQL Server vs Oracle 存储过程语法转换1.2.docx

    - Oracle的`CASE...WHEN...THEN...END;` - SQL Server的`CASE WHEN...THEN...END;` 8. **游标**: - Oracle中定义游标使用`CURSOR`关键字,打开、关闭和循环使用`OPEN`, `FETCH`, `CLOSE`,如: ```sql ...

    oracle函数大全及知识点api

    CASE WHEN column_name > 10 THEN '大于10' ELSE '小于等于10' END AS "条件判断" FROM table_name; ``` 这段SQL展示了如何在查询中使用日期时间、字符串和逻辑判断函数。 总结,Oracle函数和API是数据库操作的...

    Oracle函数大全.pdf

    - **case when then end**: 用于条件逻辑处理。 - **sys_guid**: 生成一个全局唯一的标识符。 - **sys_context**: 返回特定命名空间中上下文的值。 - **dbms_random**: 包含用于生成随机数的函数。 - **utl_inaddr....

    Oracle-Decode()函数和CASE语句的比较

    Oracle数据库中的`Decode()`函数和`CASE`语句都是用于条件判断和数据转换的重要工具,它们各有特点,适用场景也有所不同。以下是对这两个功能的详细比较。 首先,`Decode()`函数是一个简化的条件表达式,它允许你在...

    oracle存储过程练习题.pdf

    MAX(CASE WHEN subject = '英语' THEN score ELSE NULL END) AS 英语, SUM(score) AS 总成绩 FROM CJ GROUP BY name; ``` 4. **导出固定格式数据**: 这个任务需要创建一个PL/SQL过程来生成指定格式的文本...

    使用Oracle的SQL函数实现工作日和节假日分组统计.pdf

    COUNT(CASE WHEN day_type = '节假日' THEN 1 ELSE NULL END) AS holiday_days FROM (SELECT CASE WHEN TO_CHAR(t.visit_date, 'yyyy-mm-dd') IN ('2022-01-01', '2022-05-01', '2022-10-01') THEN '节假日' ...

    [数据库] Oracle使用CASE判断解决多值问题1

    WHEN COUNT(CASE WHEN ZY_TYPE = '国家特色专业' THEN 1 END) > 0 THEN '国家特色' WHEN COUNT(CASE WHEN ZY_TYPE = '省示范专业' THEN 1 END) > 0 THEN '省示范' ELSE '无' END AS TYPE FROM ZY_TAB GROUP BY ...

    Oracle用decode函数或CASE-WHEN实现自定义排序

    例如,当你需要按照特定顺序(如自定义的字母顺序或数值顺序)对非数字字段进行排序时,可以借助`DECODE`函数或`CASE-WHEN`语句来实现自定义排序。下面将详细介绍这两种方法。 1. **DECODE函数** Oracle的`DECODE`...

    For.Dummies.Oracle.PL.SQL.For.Dummies.Jun.2006.

    WHEN OTHERS THEN -- 处理未捕获的异常 DBMS_OUTPUT.PUT_LINE('An error occurred: ' || SQLERRM); END; ``` ### 函数与过程 - **函数**:返回一个值的子程序。 - **过程**:不返回值但可以执行一系列操作的子...

    Oracle时间区间段合并.pdf

    CASE WHEN MAX(END_TIM) OVER (PARTITION BY ID ORDER BY BEG_TIM ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING) >= BEG_TIM THEN 0 ELSE 1 END AS F ``` 2. `SUM()`窗口函数: 对于每个`ID`,按照`BEG_...

    几个常用的Oracle函数及实例运用

    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_...

    oracle与sqlserver的十大区别之一.txt

    - **SQL Server**:支持`CASE...WHEN...THEN...ELSE...END`结构,用于复杂的条件判断。 - 示例: ```sql SELECT StudentNo AS 学号, CASE WHEN Grade >= 90 AND Grade <= 100 THEN '★★★★' WHEN Grade >= ...

    Oracle case函数使用介绍

    Oracle CASE 函数是一种在 SQL 查询中进行条件判断的表达式,它允许你在同一查询中根据不同的条件设置不同的返回值。这个函数在处理复杂的数据转换和分析时非常有用,尤其是在需要根据特定条件设置列的值时。以下是...

Global site tag (gtag.js) - Google Analytics