Skip to Main Content

SQL & PL/SQL

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

ORA-00905: missing keyword in CASE Clause, But I'm able to do with [AND/OR]

User_R5UI6Aug 5 2022

SELECT tbl1.R1, tbl1.R2
FROM (select 'ABC' as A1,
'123' as R1,
'112233' as R2,
'' as C1,
'1' as C2,
'' as C3,
'' as C4
from dual) tbl1
WHERE
'ABC' = tbl1.A1
AND CASE WHEN tbl1.C1 IS NOT NULL
THEN '123' = tbl1.R1 AND '112233' = tbl1.R2
WHEN tbl1.C2 IS NOT NULL
THEN '123' = tbl1.R1 AND '112233' = tbl1.R2
WHEN tbl1.C3 IS NOT NULL
THEN '123' = tbl1.R1 AND '112233' = tbl1.R2
WHEN tbl1.C4 IS NOT NULL
THEN '123' = tbl1.R1 AND '112233' = tbl1.R2
ELSE NULL
END;

Error:
ORA-00905: missing keyword
00905. 00000 - "missing keyword"
*Cause:
*Action:

Comments
Post Details
Added on Aug 5 2022
8 comments
711 views