Rescale the result and truncate if the decimal points does not fit. However, I don't know if I should throw an exception here and where to catch the exception. The evaluate method does not throw SQLException. If I throw a runtime exception here, I need to catch it somewhere and convert it to a SQLException.

I think it is appropriate to change the evaluate method to actually throw SQLException. This would touch much more files. I can do it in a different CL.