It is padding, and not trimming .. ie, if two strings of unequal lengths are to be compared, then the shorter string is padded with blanks to the right ...
If the field is a CHAR field, then db2 stores a shorter lenght field padded with blanks to the right ... So, anyways the strings are the same ..
If you are using VARCHAR, then the workaround is to say
select * from temp where name = 'TEST NAME ' and length(name)=length('TEST NAME ')
HTH
Sathyaram