I am trying to implement a query like below
WHERE LOWER (ename) IN LOWER ('A', 'b', 'C', 'd','eF','GG','Hh');
ORA-00909: invalid number of arguments.
@Muhammad Muazzam has it right, but if for some reason you really need to user LOWER on the right hand side with a list of values then you could do this:
select ename from emp where lower(ename) in (select lower(column_value) from table(SYS.KU$_VCNT('A','B','C','D')) );
SYS.KU$_VCNT is a table of VARCHAR2(4000) type that should already exist in your database.