Ver Mensaje Individual
  #5  
Antiguo 03-09-2017
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Podrías probar algo similar a esto:
Código SQL [-]
SET TERM ^ ;

CREATE OR ALTER PROCEDURE SP_MAXDIF 
RETURNS(
  RESULT INTEGER)
AS
  DECLARE VARIABLE MAXDIF INTEGER;
BEGIN
  AUX    = 0;
  RESULT = 0;
  FOR
    SELECT DATEDIFF(DAY FROM DT1.FECHA TO DT1.FECHA)
  FROM DATOS DT1, DATOS DT2
  WHERE DT1.SALIDA_NUM = DT2.SALIDA_NUM + 1 
    INTO AUX
  DO
    IF(AUX > RESULT) THEN RESULT = AUX;
  SUSPEND;
END^

SET TERM ; ^
De acuerdo a tu código infiero que la columna SALIDA_NUM es numérica ascendente y consecutiva, de otro modo no funcionará el algorítmo.

Algo que no especificas es la unidad en que deseas obtener la diferencia. manelb ya te hizo esa observación y te especificó el formato de la sintáxis en su mensaje.

Mas información sobre la función: DATEDIFF()

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita