쿼리할떄와 프로시져에서 호출할때와 날짜값이 다르게 리턴됩니다.. 0 3 1,866

by 삼만돌이 [SQL Query] 프로시져 [2015.07.22 15:23:14]


strEdate DATE;
SELECT
       LAST_DAY(SYSDATE) + 10
INTO strEdate
FROM DUAL;
 
위와 같이 만들어진 프로시져가 있는데요..
해당 프로시져를 호출하면
 
결과값이 10-AUG-15
이렇게 리턴됩니다..
 
그런데 그냥 쿼리로 하면 2015-08-10 오후 2:11:01
이렇게 리턴되고요..
 
왜 10-AUG-15로 될까요..ㅠㅠ
by DarkBee [2015.07.22 15:37:55]

10-AUG-15     dd-MM-yy 맞는거 같은데요


by 삼만돌이 [2015.07.22 15:40:30]

결과값이 쿼리로 했을때와 동일하게 2015-08-10으로 나타나야되는데 프로시져에서 호출하면 10-aug-15로 나타나서요.. into에 선언한 date값을 varchar로 변경해도 동일해요.. ㅠㅠ


by 마농 [2015.07.22 15:53:55]

프로시져로 했다면? 결과는 어떻게 확인 했을까요?
dbms_output 으로 찍었다면? 날짜가 문자로 자동 형변환 되겠지요.
자동형변환 되면서 나타난 포멧이 그러할 듯 하네요.


쿼리로 했을 때는 또 어떤 툴을 사용했을까요?
사용 툴에 따라 날짜형 자료의 출력 스타일이 다를 수 있습니다.


결론은 실행 결과는 동일할 것입니다. 날짜형으로...
날짜형을 문자로 표현하는 방식에 따라 다르게 보일 수 있습니다.


원하시는 것이 확실한 포멧이 정해져 있다면?
아예 TO_CHAR 함수로 정확한 포멧을 지정하여 문자로 치환하시구요.
원하시는 결과가 날짜가 맞다면? 문제 없습니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입