Mahesh, It would help if you included the DB2 version and operating system. Some functions may not be available in certain versions.
Your problem (as I am sure you know) is you aren't really comparing Date datatypes. You are comparing a Date datatype with an Decimal datatype. You need to convert the information into comparable types. Here is one way (I haven't tested but it should work):
This will extract out the Year part (2009) as an Integer. Multiplied by 1000 shifts the value to the right 'value' (2009000). DAYOFYEAR extracts out the Julian day of the year (275 for 2009-10-02 I think) as an Integer. Adding this to 2009000 would result in an Integer value of 2009275.
This should be comparable to a decimal(7,0) value. If not, you can use CAST to change it to a Decimal(7,0) value.
CAST( YEAR(CURRENT_DATE) * 1000 ) + DAYOFYEAR(CURRENT_DATE) AS DECIMAL(7,0) )
There are other ways to accomplish this. You could extract the values from the DECIMAL(7,0) column, convert them to Character strings and use one of the Formatting functions (like TO_DATE).
Assume that DATCOL is a CHAR(7) column in some table, and that one of its values is the character string '1989061'. For this value, the following statement returns the internal representation of 2 March 1989.