0
plsql 프로그래밍에서 두 날짜를 비교하는 데 어려움이 있습니다.저장 프로 시저 날짜 쿼리가 작동하지 않습니다.
2 개의 저장 프로 시저가 있습니다. 첫 번째 저장 프로 시저에서는 날짜 열을 OUT
param으로 반환합니다. 첫 번째 출력 매개 변수를 두 번째 저장 프로 시저의 입력 매개 변수로 전달하고 있습니다.
하지만 내 쿼리가 올바른 값을 반환하지 않습니다.
저장 프로 시저 # 1 :
PROCEDURE SP_FIRST_COMPLETE(TASK_ID IN VARCHAR2, FIRST_COMPLETE_DT OUT DATE)
IS
...
BEGIN
...
...
DBMS_OUTPUT.PUTLINE('First completed dt is:= '||FIRST_COMPLETE_DT);
.....
end;
저장 프로 시저 # 2 :
PROCEDURE SP_NOT_FIRST_COMPLETE(TASK_ID IN VARCHAR2, FIRST_COMPLETE_DT IN DATE, FIRST_COMPLETE_DT1 OUT DATE)
IS
....
BEGIN
DBMS_OUTPUT.PUTLINE('First completed dt is:= '||FIRST_COMPLETE_DT);
FOR R_ROW IN (SELECT ........ FROM .... WHERE EVENT_DT > FIRST_COMPLETE_DT ORDER BY EVENT_DT
LOOP
DBMS_OUTPUT.PUTLINE('First completed dt is:= '||FIRST_COMPLETE_DT||' QUERY RESULT DATE :='||R_ROW.EVENT_DT);
.....
END;
1ST STORED PROC OUTPUT
First completed dt is:= 14-FEB-14
2ND STORED PROC OUTPUT
First completed dt is:= 14-FEB-14
First completed dt is:= 14-FEB-14 QUERY RESULT DATE := 28-FEB-12
나는 그것주고 올바른 결과 SQL 쿼리를 실행
.select ... from.... where event_dt > '18-FEB-14' order by event_dt;
도와주세요.
감사 Sarma
이런 일이 발생할 수있는 유일한 방법이 있다고 생각할 수는 있지만 확인이 필요합니다. EVENT_DT는 어떤 유형으로 선언 되었습니까? –