|
CREATE OR REPLACE FUNCTION IS_DATE_FIELD(I_TEXT IN VARCHAR2)
RETURN DATE
IS
   V_DATE DATE;
BEGIN
   V_DATE:=TO_DATE(REPLACE(RTRIM(LTRIM(I_TEXT)),' ',' '),'Dy Mon DD HH24:MI:SS YYYY');
   RETURN V_DATE;
EXCEPTION
WHEN OTHERS THEN
   RETURN NULL;
END;
/
CREATE OR REPLACE FUNCTION GET_LAST_ALERT_LINE(I_LD IN DATE)
RETURN NUMBER
IS
   V_LN NUMBER;
BEGIN
   FOR I IN (SELECT TEXT,ROWNUM FROM ALERT_LOG ORDER BY ROWNUM DESC) LOOP
      IF (IS_DATE_FIELD(I.TEXT) <= I_ld) THEN
         V_LN:=I.ROWNUM;
         RETURN V_LN;
      END IF;
   END LOOP;
   RETURN 0;
END;
/
|