今天看了一下Case语句,蛮有用的,比decode强大.
----基金净值比例
SELECT fnwd.CALCULATE_DATE,COUNT (CASE
WHEN fnwd.NET_WORTH < 1
THEN 1
END) 小于1,
COUNT (CASE
WHEN fnwd.NET_WORTH < 2 AND fnwd.NET_WORTH >= 1
THEN 1
END
) 小于2大于等于1,
COUNT (CASE
WHEN fnwd.NET_WORTH < 3 AND fnwd.NET_WORTH >= 2
THEN 1
END
) 小于3大于等于2,
COUNT (CASE
WHEN fnwd.NET_WORTH < 4 AND fnwd.NET_WORTH >= 3
THEN 1
END
) 小于4大于等于3,
COUNT (CASE
WHEN fnwd.NET_WORTH < 5 AND fnwd.NET_WORTH >= 4
THEN 1
END
) 小于5大于等于4,
COUNT (CASE
WHEN fnwd.NET_WORTH >= 5
THEN 1
END) 大于等于5
FROM T_FUND_NET_WORTH_DAILY fnwd
where fnwd.CALCULATE_DATE between TO_DATE ('2007-05-31', 'YYYY-MM-DD') and TO_DATE ('2007-07-03', 'YYYY-MM-DD')
group by fnwd.CALCULATE_DATE
case语句还可以嵌套
select (case when qty_less6months < 0 and qty_6to12months < 0 then
(case when season_code in ('0', '1', '2', '3', '4') then 'value is negative'
else 'No stock'
end)
when qty_1to2years < 0 and qty_2to3years < 0 then
(case when season_code in ('A', 'B', 'C', 'D', 'E') then 'value is negative'
else 'No stock'
end)
else 'Stock Available'
end) stock_check
from jnc_lots_ageing_mexx_asof
where rownum < 20
and qty_less6months < 0 and qty_6to12months < 0
分享到:
相关推荐
oracle中case的用法介绍,里面有case使用的一些实例
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-Decode()函数和CASE语句的比较。
mysql 中case when 遇到乱码解决。查询语句中含有case引起中文乱码解决方法
该语句的执行过程是:将CASE后面表达式的值与各WHEN子句中的表达式的值进行比较,如果两者相等,则返回THEN后的表达式的值,然后跳出CASE语句,否则返回ELSE子句中的表达式的值。ELSE子句是可选项。当CASE语句中不...
使用CASE语句时在WHEN子句中没有包含必需的条件分支,并且没有包含ELSE语句。 对应ORA-06592错误。 COLLECTION_IS_NULL 给集合元素赋值前,必需初始化集合元素。对应ORA-06531错误。 CURSOR_ALRADY_OPEN 重新打开...
case 语句 case语句如果作为分支控制语句,最后结束语句是end case,如果是作为select语句里的控制语句则只需要end。
当满足CASE设定的条件时,就可以执行then语句。由于我要做的分组查询统计,是要罗列每一种情况,而且根据输入的“管理员编号”不同返回不同结果,结果记录的条数和每一种情况是可知的,这个语法完全可用 核心代码...
oracle中的控制语句。 包括:条件语句 ifelse case when 循环语句 无条件循环 while循环 for循环
7、CASE表达式 8、ROWNUM-TOP-N分析 9、相关子查询和非相关子查询 10、增强GROUP BY 11、分析函数(ANALYTICAL FUNCTIONS) 12、ROWID的使用 13、ORACLE 10G正则表达式 14、使用HINT 15、PARITION分区 16、并行操作 ...
Oracle数据库各类控制语句的使用是本文我们主要要介绍的内容,包括一些逻辑控制语句、Case when的使用、While的使用以及For的使用等等,接下来我们就开始一一介绍这部分内容,希望能够对您有所帮助。 Oracle 中逻辑...
主要给大家介绍了一次简单的Oracle恢复Case实战过程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
Oracle中使用语句将行数据转换称不同的列表示,或者将不同的列数据写到同一列的不同行上的行列转换问题是一个非常传统的话题。 网络上流传了很多将行数据转换称列数据的方法和应用实例,一般通过decode或者case函数...
本书全面详细地介绍了Oracle Database 11g的强大功能,阐述了如何使用所有新增功能和工具,如何执行功能强大的SQL查询,如何编写PL/SQL和SQL*Plus语句,如何使用大对象和对象-关系数据库。通过学习本书,您可以了解...
oracle 截取字符(substr),检索字符位置(instr) case when then else end语句使用
本书全面详细地介绍了Oracle Database 11g的强大功能,阐述了如何使用所有新增功能和工具,如何执行功能强大的SQL查询,如何编写PL/SQL和SQL*Plus语句,如何使用大对象和对象-关系数据库。通过学习本书,您可以了解...
5.6.3 CASE语句 141 5.6.4 Loop循环 142 5.6.5 WHILE循环 143 5.6.6 FOR循环 143 5.7 如何创建存储过程以及创建存储过程的原因 146 5.8 函数的创建和使用 149 5.9 调用PL/SQL程序 151 5.10 本章测验 152 第6...