我写了一个查询。问题是如果我删除case语句然后错误消失但是如果我使用case语句然后错误来了并且case语句是必要的。这是查询
Select
b.branch_name AS "BRANCHES", --varchar2(100 byte)
(
Select count(temp.loan_acct_no) --varchar2(30 byte)
From
(
Select *
From
Losa_app app
inner join
losa_cust lc
on
(lc.app_ref_no = app.app_ref_no ) --varchar2(20 byte)
and
lc.app_joint_T= 'P' --varchar2(10 byte)
inner join
losa_facilities lf
on
(lf.app_ref_no = app.app_ref_no) --varchar2(20 byte)
)
temp
where
temp.attend_branch = b.branch_id --NUMBER(10, 0)
) AS "No.of Account"
From
code_branch b
where
b.branch_code1 --varchar2(16 byte)
like
case :inputChannel
when 'AIBB' Then '0347%' --AIBB or ABB (varchar2(10 byte))
When 'ABB' Then '0232%'
end
在这种情况下会出现错误,但如果我删除这些行
where
b.branch_code1
like
case :inputChannel
when 'AIBB' Then '0347%'
When 'ABB' Then '0232%'
end
然后错误消失了。我认为错误即将到来,因为我的 case 语句正在返回 char 数据。如何将我的 case 语句转换为返回 number 而不是 char ?
谢谢