Redondeo en update
Publicado por jose (20 intervenciones) el 08/06/2023 09:16:14
Hola a todos,
Estoy haciendo un procedimiento en mysql, en donde a través de condicionales busco la suma de unos registros de una tabla para añadirla a otra. Mi problema es que donde debería decir 193,45 me pone 194.00 con redondeo.
El campo donde se guarda la cantidad es de tipo decimal(10,2), en ambas tablas, y sólo hago un replace para eliminar el símbolo -.
¿Alguien podría decirme a que se debe o como solventarlo para que no redondee?
Muchas gracias,
Estoy haciendo un procedimiento en mysql, en donde a través de condicionales busco la suma de unos registros de una tabla para añadirla a otra. Mi problema es que donde debería decir 193,45 me pone 194.00 con redondeo.
El campo donde se guarda la cantidad es de tipo decimal(10,2), en ambas tablas, y sólo hago un replace para eliminar el símbolo -.
¿Alguien podría decirme a que se debe o como solventarlo para que no redondee?
Muchas gracias,
1
2
3
4
5
6
7
8
IF NOT EXISTS (SELECT 1 FROM renta WHERE descripcion like '%Seguro Hogar %' AND vivienda = vivienda_id AND ano = anovar) THEN
INSERT INTO renta (tipo,descripcion,vivienda,ano) values ('Seguros',concat('Seguro Hogar ',vivienda_alias),vivienda_id,anovar);
SET sumavar = (SELECT SUM(cantidad) FROM movimientos WHERE titulo = 'Domiciliación' AND entidad like '%Seguro Hogar%' AND vivienda = vivienda_id AND year(fecha) = anovar);
UPDATE renta SET cantidad = REPLACE(sumavar,'-','') WHERE tipo = 'Seguros' AND descripcion = concat('Seguro Hogar ',vivienda_alias) AND vivienda = vivienda_id AND ano = anovar;
ELSE
SET sumavar = (SELECT SUM(cantidad) FROM movimientos WHERE titulo = 'Domiciliación' AND entidad like '%Seguro Hogar%' AND vivienda = vivienda_id AND year(fecha) = anovar);
UPDATE renta SET cantidad = REPLACE(sumavar,'-','') WHERE tipo = 'Seguros' AND descripcion = concat('Seguro Hogar ',vivienda_alias) AND vivienda = vivienda_id AND ano = anovar;
END IF;
Valora esta pregunta


0