Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Error en división con ceros

Estas en el tema de Error en división con ceros en el foro de SQL Server en Foros del Web. Hola buenos días. Estoy teniendo problemas al hacer una división en donde se están encontrando ceros. Utilice el ISNULL y el NULLIF juntos y no ...
  #1 (permalink)  
Antiguo 21/01/2010, 09:00
 
Fecha de Ingreso: marzo-2009
Mensajes: 2
Antigüedad: 15 años, 1 mes
Puntos: 0
Error en división con ceros

Hola buenos días.

Estoy teniendo problemas al hacer una división en donde se están encontrando ceros.
Utilice el ISNULL y el NULLIF juntos y no me marcó ningpu error, pero al querer hacer la sumatoria en esa formulita no me funciona. Este es el query que stoy utilizando.

isnull(sum((b.montomuebles),0)/nullif(sum(b.totalsolomuebles),0)))SdoPromMuebles

Espero me puedan ayudar.

Gracias
  #2 (permalink)  
Antiguo 21/01/2010, 09:27
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
Respuesta: Error en división con ceros

Al parecer solo estaban mal los parentesis...

Adicional le agregue un isnull dentro del sum para eliminar el mensaje de warning:

-- Warning: Null value is eliminated by an aggregate or other SET operation.

Código:
IF OBJECT_ID('TEMPDB..#tmpdecimal') IS NOT NULL DROP TABLE #tmpdecimal

CREATE TABLE #tmpdecimal (montomuebles int, totalsolomuebles int )

INSERT INTO #tmpdecimal VALUES (1, 0)
INSERT INTO #tmpdecimal VALUES (2, NULL)
INSERT INTO #tmpdecimal VALUES (8, 4)
INSERT INTO #tmpdecimal VALUES (16, 8)

SELECT ISNULL(
              SUM(b.montomuebles)    
             ,0
             ) 
       / 
       NULLIF( 
              SUM(
                 ISNULL(b.totalsolomuebles,0)
                 )
             ,0
             )                   SdoPromMuebles
FROM   #tmpdecimal b
Saludos!
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.

Etiquetas: cero
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:59.