The ROUND function returns expression-1 rounded to some number of places to the right or left of the decimal point.
If expression-2 is positive, expression-1 is rounded to the expression-2 number of places to the right of the decimal point.
If expression-2 is negative, expression-1 is rounded to 1 + (the absolute value of expression-2) number of places to the left of the decimal point. If the absolute value of expression-2 is greater than the number of digits to the left of the decimal point, the result is 0. (For example, ROUND(748.58,-4) returns 0.)
If expression-1 is positive, a digit value of 5 is rounded to the next higher positive number. If expression-1 is negative, a digit value of 5 is rounded to the next lower negative number.
The data type and length attribute of the result are the same as the data type and length attribute of the first argument, except that precision is increased by one if expression-1 is DECIMAL or NUMERIC and the precision is less than the maximum precision (mp). For example, an argument with a data type of DECIMAL(5,2) will result in DECIMAL(6,2). An argument with a data type of DECIMAL(63,2) will result in DECIMAL(63,2).
If either argument can be null, the result can be null. If either argument is null, the result is the null value.
SELECT ROUND(873.726, 2), ROUND(873.726, 1), ROUND(873.726, 0), ROUND(873.726, -1), ROUND(873.726, -2), ROUND(873.726, -3), ROUND(873.726, -4) FROM SYSIBM.SYSDUMMY1Returns the following values, respectively:
0873.730 0873.700 0874.000 0870.000 0900.000 1000.000 0000.000
SELECT ROUND( 3.5, 0), ROUND( 3.1, 0), ROUND(-3.1, 0), ROUND(-3.5, 0) FROM SYSIBM.SYSDUMMY1
Returns the following examples, respectively:
04.0 03.0 -03.0 -04.0
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.