Ari,
Please ignore my last post as it was utter rubbish! That's the problem you get from with with too many languages, you forget the details of some of them if you don't work with them for a while.
If you subtract one date from another, the answer that you get back is in the format YYMMDD. If you run a query to subtract 1990-06-19 from 2002-06-19 you should get back 120000 ie. 12 years no months no days, which in my book is correct. If you run a query to subtract 1990-06-20 from 2002-06-19 you should get back 111129 which also seems ok to me.
DB2 dates functions aren't as clever as they could be, but if you do want to calculate the number of months between two dates, you can do it using SQL as such:
SELECT
(DECIMAL(SUBSTR(DIGITS(datefield1 - datefield2),3,2)) * 12)
+ (DECIMAL(SUBSTR(DIGITS(datefield1 - datefield2),5,2)))
There may be a more elegant way of doing it (surely there is???) but this will work.
HTH
Marc