Redondear decimales en SQL
Publicado por Claudio (10 intervenciones) el 06/07/2004 22:59:13
Mi problema es el siguiente:en una consulta que agrupo valores usando la función sum.,en la cual primero hay una división de dos campos.
el resultado que me aparece es un numero tipo así 1,66666662. Lo que yo quiero es me de 1,66 o redonde a 1,67. Probé con la función Round antes del sum pero me da error de todas las formas que se me ocurrieron.
Ejemplo:
strqry1 = "SELECT [VENDEDORES].[NROVENDEDOR], [VENDEDORES].[APELLIDONOMBRE],(Sum(VENTAS.ARTICULOS)/Sum(VENTAS.FACTURAS)) AS ARTICULOSSOBREFACTURAS, (Sum([VENTAS].[PESOS])/Sum([VENTAS].[ARTICULOS])) AS PESOSSOBREARTICULOS, (Sum([VENTAS].[PESOS])/Sum([VENTAS].[FACTURAS])) AS PESOSSOBREFACTURAS " & "FROM VENDEDORES INNER JOIN (PERIODOS INNER JOIN VENTAS ON [PERIODOS].[INGRESONRO]=[VENTAS].[INGRESONRO]) ON [VENDEDORES].[NROVENDEDOR]=[VENTAS].[NROVENDEDOR] " & _"WHERE [VENTAS].[INGRESONRO] BETWEEN " & IdDesde & " and " & IdHasta & "" & _ "GROUP BY [VENDEDORES].[NROVENDEDOR], [VENDEDORES].[APELLIDONOMBRE] "
Set rsAux = Db.OpenRecordset(strqry1, dbOpenSnapshot)
Set DataOp.Recordset = rsAux
esta información la muestro en un dbgrid. Y luego genero una consulta para imprimir con Crystal Reports.
el resultado que me aparece es un numero tipo así 1,66666662. Lo que yo quiero es me de 1,66 o redonde a 1,67. Probé con la función Round antes del sum pero me da error de todas las formas que se me ocurrieron.
Ejemplo:
strqry1 = "SELECT [VENDEDORES].[NROVENDEDOR], [VENDEDORES].[APELLIDONOMBRE],(Sum(VENTAS.ARTICULOS)/Sum(VENTAS.FACTURAS)) AS ARTICULOSSOBREFACTURAS, (Sum([VENTAS].[PESOS])/Sum([VENTAS].[ARTICULOS])) AS PESOSSOBREARTICULOS, (Sum([VENTAS].[PESOS])/Sum([VENTAS].[FACTURAS])) AS PESOSSOBREFACTURAS " & "FROM VENDEDORES INNER JOIN (PERIODOS INNER JOIN VENTAS ON [PERIODOS].[INGRESONRO]=[VENTAS].[INGRESONRO]) ON [VENDEDORES].[NROVENDEDOR]=[VENTAS].[NROVENDEDOR] " & _"WHERE [VENTAS].[INGRESONRO] BETWEEN " & IdDesde & " and " & IdHasta & "" & _ "GROUP BY [VENDEDORES].[NROVENDEDOR], [VENDEDORES].[APELLIDONOMBRE] "
Set rsAux = Db.OpenRecordset(strqry1, dbOpenSnapshot)
Set DataOp.Recordset = rsAux
esta información la muestro en un dbgrid. Y luego genero una consulta para imprimir con Crystal Reports.
Valora esta pregunta


0