Problemas de redondeo

25/10/2005 - 17:04 por Kinomakino | Informe spam
Muchas gracias de antemano por las respuestas.

El problema que se me plantea es el siguiente:

go
if exists (select * from dbo.sysobjects where id =
object_id(N'[dbo].[proc_cuenta_62500003]') and OBJECTPROPERTY(id,
N'IsProcedure') = 1)
drop procedure [dbo].[proc_cuenta_62500003]
GO

create procedure proc_cuenta_62500003
@maquinaria as decimal (9,2)=0,
@afilados as decimal (9,2)=0,
@taller as decimal (9,2)=0,
@consumible as decimal (9,2)=0,
@herraje as decimal (9,2)=0

as
select @maquinaria = porcentaje from porcentaje_ventas where departamento
like 'maquinaria'
print @maquinaria
select @maquinaria =@maquinaria/100
print @maquinaria


resultado : en el primer print me sale 49.79, y en el segundo 0.50.
Descartado el problema del print, porque si lo introduzco en la BBDD me da
el mismo dato.

A alguien se le ocurre algo????
 

Leer las respuestas

#1 Miguel Egea
25/10/2005 - 18:03 | Informe spam
¿que es lo que ves mal en el resultado?

Si yo divido 49.79 entre 100 da 0.4979, pero tengo que redondear, lo que hay
detrás, como 7 es mayor que 5 se rendondea al alza (disculpa la obviedad)

Miguel Egea

SQL Server MVP, Mentor
Solid Quality Learning
http://www.SolidQualityLearning.com

"Solid Quality Learning is the trusted global provider of advanced education
and solutions for the entire Microsoft database platform"

"Kinomakino" wrote in message
news:
Muchas gracias de antemano por las respuestas.

El problema que se me plantea es el siguiente:

go
if exists (select * from dbo.sysobjects where id =
object_id(N'[dbo].[proc_cuenta_62500003]') and OBJECTPROPERTY(id,
N'IsProcedure') = 1)
drop procedure [dbo].[proc_cuenta_62500003]
GO

create procedure proc_cuenta_62500003
@maquinaria as decimal (9,2)=0,
@afilados as decimal (9,2)=0,
@taller as decimal (9,2)=0,
@consumible as decimal (9,2)=0,
@herraje as decimal (9,2)=0

as
select @maquinaria = porcentaje from porcentaje_ventas where departamento
like 'maquinaria'
print @maquinaria
select @maquinaria =@maquinaria/100
print @maquinaria


resultado : en el primer print me sale 49.79, y en el segundo 0.50.
Descartado el problema del print, porque si lo introduzco en la BBDD me da
el mismo dato.

A alguien se le ocurre algo????


Preguntas similares