当前位置:首页 » 编程语言 » oraclesqlcasewhen
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

oraclesqlcasewhen

发布时间: 2022-06-06 20:12:27

‘壹’ oracle统计sql求助,case when

提供表结构,查询要求。看看我能不能帮你。

你给我的语句按如下调整,写成这样:
SELECT b.Group_Id,
sum(CASE WHEN TRIM(a.Op_Code) = '1000' OR TRIM(a.Op_Code) = '1002' THEN 1 ELSE 0 END) "1|开户",
sum(CASE WHEN TRIM(a.Op_Code) = '1110' THEN 1 ELSE 0 END) "2|补卡",
sum(CASE WHEN TRIM(a.Op_Code) = '1104' OR TRIM(a.Op_Code) = '1111' THEN 1 ELSE 0 END) "3|产品变更",
sum(CASE WHEN TRIM(a.Op_Code) = '1114' THEN 1 ELSE 0 END) "4|改密",
sum(CASE WHEN TRIM(a.Op_Code) = '3920' THEN 1 ELSE 0 END) "4|改资料",
sum(CASE WHEN TRIM(a.Op_Code) NOT IN ('1000','1002','1110','1104','1111','1114','3920') THEN 1 ELSE 0 END) "0|其他业务"
FROM Or_Ordline_Info_201212 a,
Bs_Channelclass_Dict b,
Bs_Loginmsg_Dict c
WHERE b.Group_Id = c.Group_Id
AND a.Login_No = c.Login_No
GROUP BY b.Group_Id
ORDER BY b.Group_Id;

‘贰’ Oracle: Case When 用法

case when是不能单独拿出来当做判断语句的,

你可以在PLSQL块里面用IF..then ..else ..end if;
来进行判断。
例如:
if A = 1 THEN
B = 1;
elsif A = 2 THEN
B = 2;
ELSE
B = 3;
END if;

‘叁’ oracle SQL 查询 case when问题

select
Case WHEN a>=85 THEN '优秀' WHEN a>=75 THEN '良好'WHEN a>=60 THEN '及格'ELSE '不及格'END a,
Case WHEN b>=85 THEN '优秀' WHEN b>=75 THEN '良好'WHEN b>=60 THEN '及格'ELSE '不及格'END b
from table_

‘肆’ oracle 中 sql 应用case when 提示数字无效问题。高手指点迷津!!!!

select sum(case when a.XX = '北京' then '1' else null end)
from table a;

补充'1' 这里可以是 1 或者'1',但要求必须是数字才可以 。 否则就是无效的数字

‘伍’ oracle case when 多条件的sql问题

select
case when count >=1 and count<3 then '关键'
when count >=3 and count<5 then '重点'
when count >=5 then '一般'
end xxx
from ...

‘陆’ oracle 中的case when语句 用法

这样试试吧
case
when a.colunm= '0' then
NULL
when a.colunm='N' then
NULL
when a.colunm is null then
NULL
else
abc
end

‘柒’ 求救oracle case when用法

select case sname when null then '姓名为空'
else sname end
from stuinfo

select decode(sname,null,'姓名为空',sname)
from stuinfo