SQL - Sustitur valores nulos

 
Vista:

Sustitur valores nulos

Publicado por Juan Carlos (8 intervenciones) el 05/05/2003 17:47:33
Que tal, estoy realizando un query que me trae una suma de de acuerdo a la referencia que le paso, pero cuando no encuentra nada, me regresa un valor NULL, como podria hacerle para que cuando no encuentre nada me regrese un 0, por ejemplo.
Saludos
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:Sustitur valores nulos

Publicado por Marco Santis (15 intervenciones) el 05/05/2003 21:33:41
la solución es usar el CASE, te daré un ejemplo con un query

SELECT SUM(PRECIO) FROM PRODUCTO

el campo PRECIO es numérico pero contiene NULOS por lo tanto devuelve NULO, ahora se transforma así:

SELECT XX = CASE SUM(PRECIO)
WHEN NULL THEN 0
ELSE SUM(PRECIO)
END
FROM PRODUCTO

espero que te resulte
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:Sustitur valores nulos

Publicado por Isaías Islas (5072 intervenciones) el 05/05/2003 23:48:38
Es cierto lo que dice Marco, tambien puedes utilizar la funcion ISNULL, ve este ejemplo:

SELECT AVG(ISNULL(price, $10.00))
FROM titles
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

Sustitur valores nulos

Publicado por Marco Santis (15 intervenciones) el 05/05/2003 23:58:14
También es la solución, ahora lo que tienes que analizar (para decidir cuál usar) es la velocidad de respuesta de ambas querys para una gran cantidad de registros.
Si lo haces te agradecería me informaras porque tengo solo 50 registros.
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:Sustitur valores nulos

Publicado por Esteban (35 intervenciones) el 09/05/2003 08:11:46
Al final vienen siendo muy parecido, tienen que validar un valor y luego según sea este se da una respuesta, sin embargo, considero que la velocidad de procesamiento del Case es algo más lento, ya que isnull aplica para cualquier tipo de campo.

Yo he trabajando esto con tablas de entre 100 a 15000 registros y en ocaciones los case retardaban mucho la consulta.

Por otro lado he odio que entre más simple la consulta más rápida es la respuesta en el cliente y menos procesamiento pesado se realiza en el servidor.

Eso es de considerar para cuando se hacer aplicaciones Web.
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