クエリを書きました。問題は、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 ステートメントを char ではなく number を返すように変換するにはどうすればよいですか?
ありがとう