It would be easier to give you the right answer if we had an example to work with, but the truncate function of the round function may give you what you need:
The third argument of the ROUND function allows you to specify that the rounding should be done by truncation rather than 'normal' rounding, so you can use this to truncate the value to a decimal with 3 decimal places, and then re-cast that, otherwise the ROUND function returns the same scale as the value passed in.
The method depends on the source data type. Some will round others will truncate. You seems to be looking for a method that truncates.
FROM @Values AS v
answered May 21 '12 at 09:50 AM