to_date 함수관련 질문이 있습니다 0 2 1,325

by 김학빈 [2015.07.13 16:10:55]


오라클11g를 사용하고 부터 문제가 생기는것 같은데요

프로시저에서 아래처럼 기술된게 있습니다

to_char(add_months(to_date(Arg_Date),6),'yyyymm')

6개월후의 날짜를 가져올려고 하는 문장입니다

물론

to_char(add_months(to_date(Arg_Date,'yyyymmdd'),6),'yyyymm')

이렇게 바꾸면 에러가 나지 않는데

궁금한것은 위에 기술한것처럼 하면 어떤 피시에서는 에러가 나고 어떤 피시에서는 에러가 나지 않고

처리된다는 점입니다

어떤 이유 때문인지 알고 계시면 가르쳐 주시면 감사하겠습니다

 

by 마농 [2015.07.13 16:17:57]

변환함수 사용시 포멧을 지정하지 않으면 기본 포멧을 사용합니다.
기본 포멧이란게 서버마다 다르고 세션마다 다르고, 사용툴마다 다르니...
사용자 환경에 따라 에러가 발생하기도 하고 안하기도 하지요.
변환함수 사용시 포멧 지정은 필수입니다.
당장 에러 안난다고 생략하면 안됩니다.


by 김학빈 [2015.07.13 20:14:56]

그 사용자 환경 어떤것이 영향을 미치는지요

제가 아는건 NLS_DATE_FORMAT 이 영향을 미치는 것으로 알고 있는데

RR/MM/DD 로 되어 있는 경우가 대부분인데

사용자 피시의 어떤 환경때문에 에러가 났다 안났다 하는지를 알고 싶습니다

피시에 오라크를 설치한적도 없는 피시에서 프로그램을 실행하면 디폴트는 서버에 셋팅된값에

따르는 것인줄 아는데 어느 피시는 에러가 안나고 어느 피시는 에러나거든요

그 원인이 무엇인가 궁금해서 여쭤봅니다

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