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

contar intervalos de dias de dos fechas

Estas en el tema de contar intervalos de dias de dos fechas en el foro de Mysql en Foros del Web. Quiero contar el intervalo de dias de dos fechas pero tengo un problema que no siempre el segundo parametro que le paso a la funcion ...
  #1 (permalink)  
Antiguo 23/05/2016, 05:02
 
Fecha de Ingreso: enero-2011
Mensajes: 1.150
Antigüedad: 13 años, 10 meses
Puntos: 10
contar intervalos de dias de dos fechas

Quiero contar el intervalo de dias de dos fechas pero tengo un problema que no siempre el segundo parametro que le paso a la funcion DATEDIFF tiene un valor es decir en ocasiones es NULL.

Código MySQL:
Ver original
  1. SELECT DATEDIFF(fecha1,fecha2) FROM empresa;

si fecha1 es null me devuelve null pero yo quiero que en este caso me devuelva 1.
saludos
  #2 (permalink)  
Antiguo 23/05/2016, 06:09
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: contar intervalos de dias de dos fechas

NULL no es un dato, es un estado de indefinición, y por consecuencia toda operación que se realiza con un NULL da por resultado otro estado similar.
En otras palabras, si usas una función donde uno de sus parámetros es NULL, siempre devolverá NULL.
Es inevitable.

SI lo que quieres es que devuelva un valor dado en caso de devolver NULL, eso es mucho mas simple:

Código MySQL:
Ver original
  1. SELECT IFNULL(DATEDIFF(fecha1,fecha2), 1) diferencia
  2.  FROM empresa;

Recuerda siempre poner alias a las salidas con uso de funciones, de lo contrario luego en programación el nombre de la columna te dará problemas.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 24/05/2016, 13:18
 
Fecha de Ingreso: enero-2011
Mensajes: 1.150
Antigüedad: 13 años, 10 meses
Puntos: 10
Respuesta: contar intervalos de dias de dos fechas

Hola muchas gracias por tu colaboracion, anteriormente ya logre lo que necesitaba de esta forma.

Código MySQL:
Ver original
  1. SELECT SUM(if(fecha1 IS NOT NULL,DATEDIFF(fecha1,fecha2),1))
  2. FROM empresa;

Aunque la cambiare por la que me posteastes, gracias y saludos.

Etiquetas: dias, fecha, intervalos, select
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 18:32.