원래의 텍스트 파일을 load data infile 했습니다만,
그 텍스트 파일 내용을 컬럼으로 분리할 구분자가 2개 있습니다.
텍스트 파일 내용을 예로 들면...
A, B, C, D, E, F / G / H, I, J, K, L .....
이런 식입니다. (위의 쉼표와 / 를 구분자로 모든 알파벳을 한 개의 컬럼으로 쓰고자 합니다.)
우선 쉼표를 구분자로 한 번 load data 한 후에
select 컬럼a, ....., replace(대상컬럼, ' / ', ','),... into out .. fields terminaed by ','
이런식으로 해서 일단 모두 쉼표로 구분된 텍스트 파일을 얻었습니다만,
이 텍스트 파일을 최종적으로 원하는 테이블에 로드해서 넣은 결과는 제가 원하는
대로 되지 않습니다. (컬럼이 잘리지 않는군요.)
문제는 outfile로 생성된 텍스트 파일의 내용 안에
replace(대상컬럼, ' / ', ',') 로 치환된 쉼표는 그냥 쉼표로 치환되지 않고
\, (역슬래쉬 쉼표)로 치환되어 있더군요.
그 결과 최종 테이블에 입력해도 \, 가 구분자로 인식되지 않는것 같습니다.
즉, 텍스트 파일의 내용이 아래와 같이 되어버립니다.
A, B, C, D, E, F \, G \, H, I, J, K, L .....
MySQL은 윈도(nt) 버전인데, 이것과 관계가 있는건지...
이런 경우엔 어떻게 해야 하는지요?
|