Q&A

  • 오라클의 SUBSTR에 대한 질문..
지금하고자 하는 것은 데이타 컨버젼입니다.



기존에 COBOL로된 데이타를 TXT로 전환후 이 데이타를 프로그램에서

화일을 오픈후 바로 바로 1개의 필드로 올렸습니다.



테이블 구조는 간략하게



CREATE TABLE COBOL_DATA1(

DATA VARCHAR2(500), ^^;;

USING ...... 생략

);



CREATE TABLE COBOL_DATA2(

CDATE CHAR(8), /* 발생일자 */

CSEQ CHAR(3), /* 순번 */

:

:

:

:

USING ...... 생략

);



결국 COBOL_DATA1에서 SUBSTR(DATA, ?, ?) 해서 COBOL_DATA2로 올리는 내용입니다.

작업은 WORKSHEET에서 했구요

그런데 한글부분이 있는곳은 이상한 현상이 있더군요..

한글 한글자를 영문자 1개와 동급으로 처리를 해버리더군요..



SUBSTR(DATA, 1, 10), /* 작업자 */



추출내용 : [홍길동 77010]

이런 식으로 되어버리더군요.

정상적인 경우라면 [홍길동 ]이라구 되어야 할텐데요..



혹시나 해서 레지스터리의 ORACLE부분의 NLS_LANG부분도 AMERICAN_AMERICA,....

로 수정도 해줬구요..



이런경우 왜 그런지 아시는분 없나요?

지금은 임시로 쓰고 있는 방법이 SUBSTRB라는 함수를 써서 하고 있는데요

책자에는 SUBSTRB는 바이트 단위로 읽어 들인다고 했는데

저 같은 경우는 오히려 SUBSTR단위로 인식을 하는군요..



저좀 구제해주세요.. ㅠ.ㅠ;



0  COMMENTS