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

Funcion Sum devolvia 0 y ahora devuelve NULL

Estas en el tema de Funcion Sum devolvia 0 y ahora devuelve NULL en el foro de SQL Server en Foros del Web. Buenas tardes. Esto me paso esta semana en la empresa donde trabajo, tengo el siguiente select: SELECT MAX([Campo]) FROM [Tabla] el cual delvolvia 0 Y ...
  #1 (permalink)  
Antiguo 05/02/2010, 15:22
 
Fecha de Ingreso: abril-2008
Mensajes: 9
Antigüedad: 16 años
Puntos: 0
Funcion Max devolvia 0 y ahora devuelve NULL

Buenas tardes.

Esto me paso esta semana en la empresa donde trabajo, tengo el siguiente select:

SELECT MAX([Campo])
FROM [Tabla]

el cual delvolvia 0

Y de un momento a otro no se que ocurrio la misma sentencia:

SELECT MAX([Campo])
FROM [Tabla]

me devuelve Null

Si pudieran ayudarme les agradeceria, utilizo sql server 2000 con vb 6.0
De antemano mil gracias por su colaboracion.

Última edición por jqpipe; 08/02/2010 a las 11:33
  #2 (permalink)  
Antiguo 05/02/2010, 15:33
Avatar de DanX03  
Fecha de Ingreso: septiembre-2007
Ubicación: México D.F.
Mensajes: 148
Antigüedad: 16 años, 6 meses
Puntos: 3
Respuesta: Funcion Sum devolvia 0 y ahora devuelve NULL

Creo que se debe por el tipo de dato que es el campo.

Intenta usar lo siguiente:


Código SQL:
Ver original
  1. SELECT isnull(MAX(campo),0) FROM tabla

Con eso obligas a que siempre te devuelva un valor cero en caso de encontrarse nulo sin importar el tipo de dato que sea el campo.
  #3 (permalink)  
Antiguo 05/02/2010, 17:23
 
Fecha de Ingreso: abril-2008
Mensajes: 9
Antigüedad: 16 años
Puntos: 0
Respuesta: Funcion Sum devolvia 0 y ahora devuelve NULL

Muchas gracias por tu pronta respuesta DANX03.

Ya había optado por esta opción pero quisiera saber si el problema es de configuración del motor de sql server o el sistema operativo que se le movio algun parametro, porque el tipo de dato ha sido siempre el mismo.
  #4 (permalink)  
Antiguo 05/02/2010, 18:05
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 2 meses
Puntos: 260
Sonrisa Respuesta: Funcion Sum devolvia 0 y ahora devuelve NULL

Hola,

Posiblemente, eliminaron los datos o todos son null.

El objetivo de devolver null en esa función creo que es claro, la función debe devolver la suma de todos los valores, 0 en el caso que la suma sea específicamente 0, y null cuando no pudo sumar nada (no hay registros o todos son null).

Saludos,
  #5 (permalink)  
Antiguo 08/02/2010, 11:12
 
Fecha de Ingreso: abril-2008
Mensajes: 9
Antigüedad: 16 años
Puntos: 0
De acuerdo Respuesta: Funcion Sum devolvia 0 y ahora devuelve NULL

HackmanC muchas gracias por tu atenta colaboración.

Entiendo el resultado que debe devolver la función.

Lo que me tiene desconcertado es que sin cambiar el tipo de dato, sin modificar algun parametro, sin modificar la lógica del programa, y sin eliminar el dato, la sentencia antes delvovía un cero y ahora devuelve Null. he buscado y no encuentro una razon.
  #6 (permalink)  
Antiguo 08/02/2010, 12:21
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Funcion Sum devolvia 0 y ahora devuelve NULL

¿Y hay NULL como contenido de tu campo?
  #7 (permalink)  
Antiguo 08/02/2010, 13:02
 
Fecha de Ingreso: abril-2008
Mensajes: 9
Antigüedad: 16 años
Puntos: 0
Respuesta: Funcion Sum devolvia 0 y ahora devuelve NULL

Cita:
Iniciado por iislas Ver Mensaje
¿Y hay NULL como contenido de tu campo?
El registro no existe.
  #8 (permalink)  
Antiguo 08/02/2010, 14:15
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Funcion Sum devolvia 0 y ahora devuelve NULL

haaaaa, pues por eso, al no existir el registro, es NULL, entonces si debes hacer uso de ISNULL()
  #9 (permalink)  
Antiguo 08/02/2010, 17:55
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 2 meses
Puntos: 260
Sonrisa Respuesta: Funcion Sum devolvia 0 y ahora devuelve NULL

Hola,

Cita:
Iniciado por jqpipe Ver Mensaje
... Entiendo el resultado que debe devolver la función. ...
Exacto, a eso me refería, estoy casi seguro que no hay forma de cambiar ese comportamiento, la función MAX devuelve NULL cuando no hay datos. Lo que quise dar a entender es que así funciona, no de otra forma.

Saludos,

ps:

Anteriormente lo confundí con sum por el título de este hilo ...
"Funcion Sum devolvia 0 y ahora devuelve NULL"
  #10 (permalink)  
Antiguo 09/02/2010, 10:42
 
Fecha de Ingreso: abril-2008
Mensajes: 9
Antigüedad: 16 años
Puntos: 0
De acuerdo Respuesta: Funcion Sum devolvia 0 y ahora devuelve NULL

Cita:
Iniciado por HackmanC Ver Mensaje
Hola,



Exacto, a eso me refería, estoy casi seguro que no hay forma de cambiar ese comportamiento, la función MAX devuelve NULL cuando no hay datos. Lo que quise dar a entender es que así funciona, no de otra forma.

Saludos,

ps:

Anteriormente lo confundí con sum por el título de este hilo ...
"Funcion Sum devolvia 0 y ahora devuelve NULL"
Si me disculpas pero no encontre como cambiar el titulo.
Ups....
Si estoy de acuerdo la función MAX devuelve NULL cuando no hay datos.

Muchas Gracias a todos por sus respuestas me fueron de gran ayuda.

Etiquetas: funcion, null, sum
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 19:33.