본문 바로가기
IDE & Tool

[DBeaver] MSSQL csv 파일 추출 / csv 파일로 내보내기 / 한글 깨짐 /숫자 깨짐 해결 / 탭 제거 / 엔터 제거

by 성은2 2024. 7. 16.

개요

 DBeaver에서 CSV로 추출시 한글/숫자 깨짐 해결

 

 

 

상세

1. SELECT 쿼리 작성

=> SELCT한 데이터의 전체를 클릭 하기 위해 'Calculate total row count' 클릭

 

2. 데이터 부분 클릭후 전체 선택 Ctrl + A 우클릭 > 데이터 추출

데이터 추출

 

3. CSV 클릭

 

4. Format settings 에서 숫자 형식 체크

 

5. Output : 출력물이 생기는 위치와 파일명 변경이 가능하다.

한글 깨짐 해결 : Encoding - UTF-8 / ★ Insert BOM 체크

Directory만 잡아주고 파일명(File name pattern)은 기본 사용

 

6. 진행(P)

여기서 주의할 점은 생성된 CSV 파일을 더블 클릭으로 그대로 열면 숫자가 깨지는 현상이 발생한다. 

그래서 빈 Excel을 열고 다른 방법으로 파일을 "불러와야 한다"

 

7. 엑셀 > 데이터 > 텍스트

DBeaver의 Output에서 지정한 경로로 가서 해당 csv 파일을 가져온다.

 

8. 구분 기호로 분리됨(D) 체크 / UTF-8 체크

 

9. 구분 기호 : 탭, 쉼표 체크

 [데이터 미리보기] 를 통해 컬럼 구분이 잘 됐는지 확인이 가능.

* 일반적으로는 탭/ 쉼표 클릭시 컬럼 구분이 잘 되지만, 혹시 추출한 데이터 형식이 다른 경우 미리보기를 보면서 구분 기호를 바꿔가며 적용해보면 됨.

 

10. 열 데이터 서식 지정

데이터 미리 보기에서 열을 클릭하며 각 열의 서식을 지정 할 수 있다.

여기서 기존에 깨졌던 열은 전부 !!!!!  "텍스트" 로 지정한다.

 

11. 마침(F) - 완성본

날짜 데이터, 숫자 데이터 모두 깨지지 않고 나옴을 확인.

 

 

[요약]

* DBeaver CSV로 내보내기 시 체크 사항

  1. UTF-8
  2. Insert BOM 체크
  3. 숫자 형식 체크

* 엑셀에서 가져오기 시 체크 사항

  1. 구분 기호 지정
  2. 열 데이터 서식 : 깨지는 데이터는 전부 "텍스트" 지정

 

 

[번외 꿀팁] - 엔터, 탭 제거

MSSQL에서 엑셀이나 CSV 등으로 데이터를 추출할 때 엔터나 탭으로 인해 형식이 깨지는 경우가 많다.

왜냐하면 tab이나 enter가 구분자 역할을 하기 때문이다.

따라서 엑셀로 추출하기 전에 SELECT 구문 조회 시 탭과 엔터를 REPLACE로 제거하는 과정을 걸쳐준다.

REPLACE(REPLACE(컬럼명, CHAR(13), ''), CHAR(10), ''); -- 엔터
REPLACE(컬럼명, CHAR(9), '') -- 탭

 

\t: char(9) 

\n: char(10)

\r: char(13)

 

\t는 탭이기 때문에 char(9)를 찾아서 REPLACE를 해주면 된다.

\n, \r은 엔터이기 때문에 char(10)과 char(13)을 찾아서 REPLACE를 해주면 된다.

 

 

 

https://zetastring.tistory.com/328

 

MSSQL에서 탭, 엔터 제거하기(\t \n \r 제거)

MSSQL에서 데이터를 뽑아서 엑셀이나 CSV 등에 옮길 때 엔터나 탭으로 인해 파일 형식이 깨지는 경우가 많다.왜냐하면 tab이나 enter가 구분자 역할을 하기 때문이다. 따라서 엑셀에 담기 전에 탭과

zetastring.tistory.com