TO_DATE의 기본 format_mask 차이가 어디서 오는건가요? 0 2 826

by 기린기린 [Oracle 기초] [2020.07.13 09:56:53]


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
안녕하세요.
 
오라클 펑션 안에 TO_DATE를 넣었을 때 포멧 차이가 발생하는데요.
 
CREATE OR REPLACE FUNCTION "FN_DATE_CHK" (
                        P_STR  VARCHAR2 ,   
                        P_MSG  VARCHAR2     
                      ) RETURN VARCHAR2
  IS
 
  BEGIN
    RETURN TO_DATE(P_STR);
    EXCEPTION
      WHEN OTHERS THEN BEGIN
           RETURN P_MSG;
      END;
  END FN_DATE_CHK;




 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
SELECT FN_DATE_CHK('20200102', NULL) FROM DUAL;
 
결과: 20/01/02
 
SELECT TO_DATE('20200102') FROM DUAL;
 
결과: 2020-01-02
 
왜 차이가 발생되는건가요?
 
 
 select * from nls_session_parameters;
 
내용 중
 
NLS_DATE_FORMAT 이 RR/MM/DD 입니다.
by pajama [2020.07.13 11:07:27]

혹시 툴에서 보실때 그런건가요?

sqlplus에서는 똑같이 보이는데 자바툴에서 볼때 다르게 보이네요.

FN_DATE_CHK는 VARCHAR2 타입으로, TO_DATE는 DATE 타입으로 리턴해서 그렇게 보이는 것 같네요.


by 기린기린 [2020.07.13 11:18:52]

PL/SQL Developer에서 보고 있습니다.
이해되었습니다.
답변 정말 감사합니다!

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