SQL - Asignar Valores decimales(2)

 
Vista:

Asignar Valores decimales(2)

Publicado por Jorge (20 intervenciones) el 21/09/2007 19:47:42
Buenas Tarde foro aqui va la inquietud, tengo un dato calculado que lo ejecuto en modo consola y me sale con varios decimales, como hacer para que solo me reconosca los dos o tres decimales iniciales:

Resultado VCHISA
----------
2425.9959555645645 La diferencia entre empresas

(1 filas afectadas)

pero quisiera que solo me salga de esta manera:

Resultado VCHISA
----------
2425.995 La diferencia entre empresas

(1 filas afectadas)

Muchas gracias por la atencion prestada de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Asignar Valores decimales(2)

Publicado por Monica Rivera (5 intervenciones) el 21/09/2007 20:02:09
Puedes usar la funcion ROUND para redondear el resultado a 3 decimales asi:
select round(campo,3), pero esto te dara el resultado redondeado seguido de ceros. Para eliminar los ceros tendras que convertir el numero a un string (varchar()) y aplicar un LEFT.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Lo Intente

Publicado por Jorge (20 intervenciones) el 21/09/2007 20:20:20
Lointente con eso tambien pero no me funciono: pero gracias de todas maneras

la estructura de mi data +- es asi

select A1_1.CodEmpresa,A1_1.Nombre,A1_1.MAxDemTotal,A1_1.MaxDemAp,
A1_1.Grupo,A1_1.DescGrupo,A1_1.CodComponente,A1_1.Clasificador,
DescComp,SubClasi,UndMetrado,EstadoVnr,TipoMetrado,
Sum(Cantidad), sum(Subtotal),Descripcion from A1_1
Group By A1_1.CodEmpresa,A1_1.Nombre,A1_1.MAxDemTotal,A1_1.MaxDemAp,
A1_1.Grupo,A1_1.DescGrupo,A1_1.CodComponente,A1_1.Clasificador,
DescComp,SubClasi,UndMetrado,EstadoVnr,TipoMetrado,Descripcion

--where E.CodEmpresa=@Cod_emp and se.CodSisElectrico=@Cod_SisEle

order by A1_1.Grupo
COMPUTE Sum(Sum(A1_1.SubTotal)) BY A1_1.Grupo
COMPUTE sum(sum(A1_1.Subtotal))
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Lo Intente

Publicado por luis (17 intervenciones) el 21/09/2007 22:48:38
hola.

intenta convertir el valor en un decimal(5,3) por ejemplo.
recuerda que decimal toma el largo total incluido las posiciones de decimales
seria algo asi

convert(decimal(5,3),526.333333) = 526.33 por ejemplo

declare @a decimal(10,6)

select @a = 1111.555555
select @a
select convert(decimal(10,2),@a)

Resultado 1111.55

esto solo trunca el valor para obtener el resultado redondeado tienes que usar el round en conjunto con el convert.

seria algo asi
select convert(decimal(10,2),round(@a,2))

espero que te sirva.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar