comparing dates
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