Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/07/2016, 04:50
solilopi
 
Fecha de Ingreso: enero-2012
Mensajes: 52
Antigüedad: 12 años, 2 meses
Puntos: 1
Pregunta Error en función MySql

Hola, tengo una función que se supone que calcula la mayor diferencia entre dos fechas de registros consecutivos, es decir, compara la fecha del registro 2 con la del 1, 3 con 2, 4 con 3, etc. El código es:
Código MySQL:
Ver original
  1. CREATE DEFINER=`root`@`localhost` FUNCTION `dias_sin`() RETURNS smallint(6)
  2.  
  3. declare contador integer default 14;
  4. declare time_min date;
  5. declare time_max date;
  6. declare resultado smallint default 0;
  7.  
  8. SELECT MAX(salida_num)INTO ultimo FROM datos;
  9.  
  10. while contador < ultimo+1 do
  11.  
  12.     SELECT fecha INTO time_min FROM datos WHERE salida_num = contador;
  13.     SELECT fecha INTO time_max FROM datos WHERE salida_num = contador + 1;
  14.         SELECT DATEDIFF(time_max,time_min) INTO dif;
  15.     set resta = cast(dif as unsigned);
  16.    
  17.     if resultado < resta then
  18.    
  19.         set resultado = resta;
  20.        
  21.     end if;
  22.    
  23.     set contador = contador+1;
  24.    
  25. end while;
  26.  
  27. RETURN resultado;
  28.  
El problema es que devuelve 0 y no sé porqué. ¿Alguien me puede echar una mano? Gracias.

Última edición por gnzsoloyo; 13/07/2016 a las 08:01