comparing dates

From: Jorge Reyes <jorg_reyes_at_hotmail.com>
Date: Fri, 8 Feb 2008 09:37:24 -0800 (PST)
Message-ID: <9ea736b1-5be2-4965-8e3c-6a73c2c69334@e23g2000prf.googlegroups.com>


Hi this is an inusual behavior for me, i have the next:

SELECT (TO_CHAR(vPMM_DATETIME, 'YYYY-MM-DD') || ' 00:00:00') INTO vINIT_DATE FROM DUAL;
SELECT (TO_CHAR(vPMM_DATETIME, 'YYYY-MM-DD') || ' 00:04:59') INTO vEND_DATE FROM DUAL;
vFLAG := 0;
LOOP
IF (( TO_CHAR(TO_DATE(TO_CHAR(vPMM_DATETIME, 'YYYY-MM-DD HH24:MI:SS'),'YYYY-MM-DD HH24:MI:SS'),'YYYY-MM-DD HH24:MI:SS') >= TO_CHAR(TO_DATE(TO_CHAR(vINIT_DATE, 'YYYY-MM-DD HH24:MI:SS'),'YYYY-MM- DD HH24:MI:SS'),'YYYY-MM-DD HH24:MI:SS')) AND (TO_CHAR(TO_DATE(TO_CHAR(vPMM_DATETIME, 'YYYY-MM-DD HH24:MI:SS'),'YYYY- -DD HH24:MI:SS'),'YYYY-MM-DD HH24:MI:SS') <= TO_CHAR(TO_DATE(TO_CHAR(vEND_DATE, 'YYYY-MM-DD HH24:MI:SS'),'YYYY-MM- DD HH24:MI:SS'),'YYYY-MM-DD HH24:MI:SS'))) THEN BEGIN
SELECT TO_CHAR(vINIT_DATE, 'YYYY-MM-DD HH24:MI:SS') INTO vRANGO FROM dual;
vFLAG:=1;
END;
END IF;
EXIT WHEN (vFLAG =1);
SELECT TO_CHAR(vINIT_DATE + (1/24/60/60 *300)) INTO vINIT_DATE FROM DUAL;
SELECT TO_CHAR(vEND_DATE + (1/24/60/60 *299)) INTO vEND_DATE FROM DUAL;
END LOOP; so the problem is that the condition cannot be evaluated because i probe and never set the vFLAG:=1; so the loop is infinite, i have vPMM_DATETIME = '2008-01-10 11:20:15' and the goal is that the vRANGO must be '2008-01-10 11:20:00', everything is ok but the date compare is the problem please help us.

thanks in advance, regards from Mexico... Received on Fri Feb 08 2008 - 11:37:24 CST

Original text of this message