TECH
QUESTION
자주하는 질문답변 입니다.
Oracle
작성자 | 유건데이타 | 등록일 | 2015-08-14 |
제목 | NLS_DATE_FORMAT에 대한 고려 | ||
---|---|---|---|
NLS_DATE_FORMAT에 대한 고려
========================== NLS DATE format에 대한 처리는 system dynamic dictionary view인 v$nls_parameters에서 지정되어 있는 값에 의거해 처리되는데 이 view에 나타나는 value는 os user의 .profile에 지정된 NLS_LANG parameter 중 territory와 NLS_DATE_FORMAT, 그리고 initSID.ora의 NLS_LANG의 territory 또는 NLS_DATE_FORMAT 에 의거하여 결정된다. 여기서는 이들 환경 변수의 우선순위를 알아보자. 만일 NLS_LANG이 설정되지 않으면 다음으로 parameter file을 읽어서 이 value를 이용해 format을 설정합니다. 다음은 각 case별로 어떻게 value가 설정 되는지를 보여주는 test임. (대표적으로 많이 사용되는 AMERICAN 과 KOREAN 두경우를 가지고 TEST함) --------------------------------------------------------- initSID.ora NLS_LANG (.profile) V$NLS_PARAMETERS --------------------------------------------------------- American American American American Korean Korean American null American Korean Korean Korean Korean American American Korean null Korean null null American null not null(Korean) Korean ---------------------------------------------------------- (주1)initSID.ora에 지정되지 않으면 default는 American임. (1).profile에 NLS_LANG=language_territory.characterset를 지정하고 NLS_DATE_FORMAT도 지정하면 NLS_DATE_FORMAT에서 지정해준 값으로 date format이 결정되나 만일 NLS_DATE_FORMAT을 미지정 시는 NLS_LANG의 TERRITORY의 default date format으로 결정된다. (2).profile에 NLS_LANG을 지정하지 않고 NLS_DATE_FORMAT도 지정하지 않은 상태에서 initSID.ora에 NLS_DATE_FORMAT를 지정하면 지정한 지정값으로 나타나며 미지정 시는 sys.props$의 값으로 default date format을 구성한다. 이상의 test로 보면 다음과 같은 우선순위에 의거 date format이 구성됨을 알 수있다. initSID.ora > .profile의 NLS_LANG > .profile의 NLS_DATE_FORMAT > alter session set.............. |
Comment | |||
---|---|---|---|
등록된 코멘트가 없습니다. |