REDONDEAR

La función ROUND devuelve expression–1 redondeada a un número de posiciones a la derecha o a la izquierda de la coma decimal.

Leer diagrama de sintaxisOmitir diagrama de sintaxis visualROUND( expression-1,0,expression-2 )
expression–1
Expresión que devuelve un valor de cualquier tipo de datos numérico, de serie de caracteres o de serie gráfica incorporado. Un argumento de serie se convierte a coma flotante de precisión doble antes de evaluar la función. Para obtener más información sobre la conversión de series a coma flotante de precisión doble, consulte DOUBLE_PRECISION o DOUBLE.
Si expression-1 es un tipo de datos de coma flotante decimal, no se utilizará DECFLOAT ROUNDING MODE. El comportamiento de redondeo de ROUND corresponde a un valor de ROUND_HALF_UP. Si se desea otro comportamiento de redondeo, utilice la función QUANTIZE.
expression–2
Expresión que devuelve un valor de un tipo de datos BIGINT, INTEGER o SMALLINT incorporado.

Si expression–2 es positivo, expression–1 se redondea al número expression–2 de posiciones a la derecha de la coma decimal.

Si expression–2 es negativo, expression–1 se redondea a 1 + (el valor absoluto de expression–2) número de posiciones a la izquierda de la coma decimal. Si el valor absoluto de expression–2 es mayor que el número de dígitos a la izquierda de la coma decimal, el resultado es 0. (Por ejemplo, ROUND (748.58, -4) devuelve 0.)

Si no se especifica expression–2 , expression–1 se redondea a cero posiciones a la izquierda de la coma decimal.

Si expression–1 es positivo, un valor de dígito de 5 se redondea al siguiente número positivo más alto. Si expression–1 es negativo, un valor de dígito de 5 se redondea al siguiente número negativo inferior.

El tipo de datos y el atributo de longitud del resultado son los mismos que el tipo de datos y el atributo de longitud del primer argumento, excepto que la precisión se aumenta en uno si expression–1 es DECIMAL o NUMERIC y la precisión es menor que la precisión máxima (mp). Por ejemplo, un argumento con un tipo de datos DECIMAL (5, 2) dará como resultado DECIMAL (6, 2). Un argumento con un tipo de datos DECIMAL (63, 2) dará como resultado DECIMAL (63, 2).

Si algún argumento puede ser nulo, el resultado puede ser nulo. Si cualquiera de los argumentos es nulo, el resultado es el valor nulo.

Ejemplos

  • Calcula el número 873.726 redondeado a 2, 1, 0, -1, -2, -3 y -4 decimales respectivamente.
      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.SYSDUMMY1
    Devuelve los valores siguientes, respectivamente:
    0873.730   0873.700  0874.000  0870.000  0900.000  1000.000  0000.000
  • Calcule tanto los números positivos como los negativos.
      SELECT ROUND( 3.5, 0),
             ROUND( 3.1, 0),
             ROUND(-3.1, 0),
             ROUND(-3.5, 0)
        FROM SYSIBM.SYSDUMMY1

    Devuelve los ejemplos siguientes, respectivamente:

    04.0   03.0  -03.0  -04.0