SQL Server 2005 쿼리를 CSV로 내보내는 방법
일부 SQL Server 2005 데이터를 CSV 형식 (따옴표로 쉼표로 구분)으로 내보내고 싶습니다. 복잡한 방법을 많이 생각할 수 있지만 올바른 방법으로 하고 싶습니다 . 나는 bcp를 보았지만 필드 주위에 따옴표를 붙이는 방법을 알 수 없습니다 (추악한 필드 값에 연결하는 것을 제외하고). 나는 sqlcmd와 -o로 할 수 있다고 생각하지만 같은 이유로 추한 것 같습니다.
그것을 수행하는 bcp 방법이 있습니까?
합리적인 sqlcmd 방법이 있습니까?
내가 간과하고있는 Management Studio에 내장 된 훌륭하고 간단한 유틸리티가 있습니까?
Management Studio에서 데이터베이스를 선택하고 마우스 오른쪽 단추를 클릭 한 다음을 선택 Tasks->Export Data
합니다. CSV, Excel 등 다양한 형식으로 내보낼 수있는 옵션이 표시됩니다.
쿼리 창에서 쿼리를 실행하고 결과를 CSV로 저장할 수도 있습니다.
Management Studio에서 쿼리 옵션을 파일로 출력하도록 설정하고 옵션-> 쿼리 결과에서 쉼표를 구분 기호로 사용하여 출력을 파일로 설정합니다.
Management studio를 사용할 수 없다면 sqlcmd를 사용하십시오.
sqlcmd -q "select col1,col2,col3 from table" -oc:\myfile.csv -h-1 -s","
이것이 명령 줄에서 수행하는 빠른 방법입니다.
SQL Server Management Studio 2005에서 따옴표를 제대로 추가하려면 Sijin이 말한 것보다 한 가지 더해야했습니다.
Tools->Options->Query Results->Sql Server->Results To Grid
이 옵션 옆에 체크 표시 :
Quote strings containing list separators when saving .csv results
참고 : 위의 방법은 SSMS 2005 Express에서 작동하지 않습니다! 내가 아는 한 SSMS 2005 Express를 사용하여 .csv로 결과를 내보낼 때 필드를 인용 할 방법이 없습니다.
예, 쿼리 결과를 CSV로 저장하려는 경우 Management Studio에는 매우 간단한 유틸리티가 있습니다.
결과 세트를 마우스 오른쪽 버튼으로 클릭하고 "다른 이름으로 결과 저장"을 선택합니다. 기본 파일 유형은 CSV입니다.
요구 사항에 맞는 경우이 작업을 자주 수행하거나 프로덕션 프로세스에 빌드하려는 경우 명령 줄에서 bcp 를 사용할 수 있습니다 .
임시 쿼리의 경우 :
그리드 모드로 결과 표시 (CTRL + D), 쿼리 실행, 결과 그리드의 왼쪽 상단 상자 클릭, Excel에 붙여 넣기, CSV로 저장. 텍스트 파일에 직접 붙여 넣을 수 있습니다 (지금 시도 할 수 없음).
또는 "파일 결과"에는 CSV 옵션도 있습니다.
또는 쉼표 구분 기호가있는 "텍스트 결과"
Tool..Options 및 Query .. options 아래의 모든 설정 (내 생각에는 확인할 수 없음)도
nocount를 설정하다
따옴표가 있으면 -w2000을 사용하여 각 행을 한 줄에 유지합니다.
SQL 2005에서는 간단합니다. 1. SQL Server 관리 스튜디오를 열고 필요한 sql 문 (예 : exec sp_whatever)을 TSQL에 복사합니다. 2. Query-> Results to Grid 3. SQL 문을 강조 표시하고 실행합니다. 4. 강조 표시 데이터 결과 (결과 표의 왼쪽 상단 영역에서 왼쪽 클릭) 5. 이제 마우스 오른쪽 버튼을 클릭하고 다른 이름으로 결과 저장을 선택합니다. 6. 파일 형식에서 CSV를 선택하고 파일 이름을 입력 한 다음 위치를 선택하고 저장을 클릭합니다.
쉬운!
SQL Server 2012-Management Studio :
해결책 1 :
쿼리 실행
결과 창을 마우스 오른쪽 버튼으로 클릭합니다.
메뉴에서 다른 이름으로 결과 저장을 선택합니다.
CSV 선택
해결책 2 :
데이터베이스를 마우스 오른쪽 버튼으로 클릭하십시오.
작업 선택, 데이터 내보내기
소스 DB 선택
대상 선택 : 플랫 파일 대상
파일 이름 선택
형식 선택-구분
테이블 선택 또는 쿼리 작성
열 구분 기호 선택
Note: You can pick a Text qualifier that will delimit your text fields, such as quotes.
If you have a field with commas, don't use you use comma as a delimiter, because it does not escape commas. You can pick a column delimiter such as Vertical Bar: | instead of comma, or a tab character. Otherwise, write a query that escapes your commas or delimits your varchar field.
The escape character or text qualifier you need to use depends on your requirements.
I think the simplest way to do this is from Excel.
- Open a new Excel file.
- Click on the Data tab
- Select Other Data Sources
- Select SQL Server
- Enter your server name, database, table name, etc.
If you have a newer version of Excel you could bring the data in from PowerPivot and then insert this data into a table.
SSIS is a very good way to do this. This can be then scheduled using SQL Server Agent jobs.
You can use following Node.js module to do it with a breeze:
https://www.npmjs.com/package/mssql-to-csv
참고URL : https://stackoverflow.com/questions/799465/how-to-export-sql-server-2005-query-to-csv
'Nice programing' 카테고리의 다른 글
신속한 SHA256 (0) | 2020.11.22 |
---|---|
Yii2에서 깨끗한 URL 사용 (0) | 2020.11.22 |
awk에서 행과 요소 선택 (0) | 2020.11.22 |
문자열에서 대문자가 연속적으로 발견되는지 확인하는 정규식? (0) | 2020.11.22 |
cmake가 작동하지 않고 qmake를 실행할 수 없습니다. (0) | 2020.11.22 |