Round just rounds and does not change the type of the variable. In your case the static number 1.7656543543543 is considered NUMERIC(14,13) by SQL and thus your select returns all 13 decimals. Casting as FLOAT works of if you always need 2 decimal places then use NUMERIC(8,2) or something similar.