나는 주어진 날짜에서 요일을 계산하는 작은 유틸리티 기능이 있습니다동일한 DB 인스턴스에서 다른 세션의 to_char()와 동일한 결과를 생성하는 방법은 무엇입니까?
select to_number(to_char(to_date('20130330', 'YYYYMMDD'),'D')) from dual;
이 동일한 데이터베이스 인스턴스에이 문을 실행하지만, 두 개의 서로 다른 기계에서 두 개의 서로 다른 결과를!
질문 : : 두 개의 다른 PC에서 동일한 결과를 얻으려면 코드를 수정하지만 동일한 데이터베이스 인스턴스를 사용하는 방법은 무엇입니까?
세부
나는이 nls_session 매개 변수를 사용하여 내 PC에서 세션을 시작할 때 결과는 6이다는 :
select * from nls_session_parameters;
NLS_LANGUAGE HUNGARIAN
NLS_TERRITORY HUNGARY
NLS_CURRENCY Ft
NLS_ISO_CURRENCY HUNGARY
NLS_NUMERIC_CHARACTERS ,
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT RR-MON-DD
NLS_DATE_LANGUAGE HUNGARIAN
NLS_SORT HUNGARIAN
NLS_TIME_FORMAT HH24.MI.SSXFF
NLS_TIMESTAMP_FORMAT RR-MON-DD HH24.MI.SSXFF
NLS_TIME_TZ_FORMAT HH24.MI.SSXFF TZR
NLS_TIMESTAMP_TZ_FORMAT RR-MON-DD HH24.MI.SSXFF TZR
NLS_DUAL_CURRENCY Ft
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
동일한 데이터베이스 인스턴스는 다른 결과를 제공합니다 : 7을 세션을 시작하여 이 세션 매개 변수를 가진 다른 PC에서 :
PARAMETER VALUE
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE AMERICAN
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY $
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
제게 올바른 결과는 7이지만 내 PC에서 제공해야합니다. 내가 해봤 성공하지 않고 다음
- 미국
- 사용 TO_CHAR에 NLS_LANGUAGE를 변경() 옵션 NLS_LANGUAGE 매개 변수
어떤 제안으로?
미리 감사드립니다.