Suresh,

like function is meant for diff purpose. It is used to search for a specific string/character.

select * from emp where ename like 'K%';

this query returns all the records whose employee name start with 'K'

The wild card symbols can be used along with ur search string are
% - for zero or more characters
_ - single character search.

If my understanding is right like alone is not sufficient....

just try this in ur where clause

(input_title is null
or
input_title = title
)
and
(input_author is null
or
input_author = author
)...