none
Redondeo en campo calculado RRS feed

  • Pregunta

  • Estoy haciendo un update con algo así:

    SET              PRECIO = PRECIOLST.PRECIO / 1.15

    Pero necesito que lo haga redondeado, no truncado sino redondeado a dos cifras decimales. Si me recuerdan cómo hacerlo por favor.

    jueves, 17 de enero de 2019 23:51

Respuestas

  • Hola JoseMiel:

    Puede ser algo como esto:

    DECLARE @tableRedondeo TABLE
    (id        INT IDENTITY(1, 1), 
     precio    FLOAT, 
     preciolst FLOAT
    );
    INSERT INTO @tableRedondeo
    (precio, 
     preciolst
    )
    VALUES
    (100.123234, 
     121.12312
    ),
    (50.9992, 
     50.34234
    );
    SELECT id, 
           precio, 
           preciolst, 
           ROUND(precio, 2) as precioRedondeo, 
           ROUND(preciolst, 2) as preciolstRedondeo, 
           ROUND((preciolst / 1.15), 2) as solucionRedondeo
    FROM @tableRedondeo;
    /* sentencia update */
    UPDATE t
      SET 
          precio = ROUND((preciolst / 1.15), 2)
    FROM @tableRedondeo AS t;
    /* visualizacion */
    SELECT *
    FROM @tableRedondeo;

    Salida

    Round

    https://docs.microsoft.com/es-es/sql/t-sql/functions/round-transact-sql?view=sql-server-2017

    viernes, 18 de enero de 2019 4:52

Todas las respuestas

  • Hola JoseMiel:

    Puede ser algo como esto:

    DECLARE @tableRedondeo TABLE
    (id        INT IDENTITY(1, 1), 
     precio    FLOAT, 
     preciolst FLOAT
    );
    INSERT INTO @tableRedondeo
    (precio, 
     preciolst
    )
    VALUES
    (100.123234, 
     121.12312
    ),
    (50.9992, 
     50.34234
    );
    SELECT id, 
           precio, 
           preciolst, 
           ROUND(precio, 2) as precioRedondeo, 
           ROUND(preciolst, 2) as preciolstRedondeo, 
           ROUND((preciolst / 1.15), 2) as solucionRedondeo
    FROM @tableRedondeo;
    /* sentencia update */
    UPDATE t
      SET 
          precio = ROUND((preciolst / 1.15), 2)
    FROM @tableRedondeo AS t;
    /* visualizacion */
    SELECT *
    FROM @tableRedondeo;

    Salida

    Round

    https://docs.microsoft.com/es-es/sql/t-sql/functions/round-transact-sql?view=sql-server-2017

    viernes, 18 de enero de 2019 4:52
  • Gracias, no entiendo para qué pones 4 campos me confunde, voy a probar agregar solo Round a la linea que pongo, gracias es la sintaxis la que no tenía claro.
    viernes, 18 de enero de 2019 15:10