web-dev-qa-db-ja.com

SQL Server 2005クエリをCSVにエクスポートする方法

いくつかのSQL Server 2005データをCSV形式(コンマ区切りの引用符)にエクスポートしたい。私はそれを行うための多くの複雑な方法を考えることができますが、私はrightの方法でそれをしたいです。 bcpを見てきましたが、フィールドを引用符で囲む方法がわかりません(フィールド値に引用符を連結することはexceptいですが)。私はsqlcmdと-oでそれを行うことができたと思いますが、それは同じ理由で見苦しいようです。

それを行うためのbcp方法はありますか?

それを行うための合理的なsqlcmd方法はありますか?

私が見落としているManagement Studioに組み込まれたすばらしいシンプルなユーティリティはありますか?

63
John M Gant

Management Studioでデータベースを選択し、右クリックしてTasks->Export Dataを選択します。そこには、CSV、Excelなどのさまざまな種類の形式にエクスポートするオプションが表示されます。

クエリウィンドウからクエリを実行し、結果をCSVに保存することもできます。

63
Jose Basilio

Management Studioでは、クエリオプションをファイルへの出力に設定し、options-> query resultsでは、区切り文字としてカンマを使用してファイルへの出力を出力に設定します。

44
Sijin

Management Studioを使用できない場合は、sqlcmdを使用します。

sqlcmd -q "select col1,col2,col3 from table" -oc:\myfile.csv -h-1 -s","

それがコマンドラインからそれを行うための高速な方法です。

31
curtisboy

SQL Server Management Studio 2005で適切に引用符を追加するためにSijinが言ったことよりも、もう1つやらなければなりませんでした。

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にエクスポートするときにフィールドを引用する方法はありません。

25
goku_da_master

クエリ結果をCSVに保存するだけの場合、Management Studioには非常にシンプルなユーティリティがあります。

結果セットを右クリックして、[結果に名前を付けて保存]を選択します。デフォルトのファイルタイプはCSVです。

9
Pete H.

要件に適合する場合、これを頻繁に行うか、実動プロセスに組み込む場合は、コマンドラインでbcpを使用できます。

リンクはこちら 設定の説明.

6
dkretz

アドホッククエリの場合:

結果をグリッドモードで表示(CTRL + D)、クエリを実行、結果グリッドの左上のボックスをクリック、Excelに貼り付け、CSVとして保存。テキストファイルに直接貼り付けることができる場合があります(今は試すことができません)

または、「ファイルへの結果」にはCSV用のオプションもあります

または「テキストへの結果」とカンマ区切り

Tool..OptionsおよびQuery .. optionsの下のすべての設定(チェックできないと思います)

5
gbn

SQL 2005では、これは簡単です。1. SQL Server管理スタジオを開き、exec sp_whateverなどの必要なsqlステートメントをTSQLにコピーします2. Query-> Results to Grid 3. sqlステートメントを強調表示して実行します4.強調表示しますデータ結果(結果グリッドの左上の領域を左クリック)5.右クリックして、[結果を名前を付けて保存]を選択します。6. [ファイルの種類]で[CSV]を選択し、ファイル名を入力し、.

簡単!

2
Scott

nocountをオンに設定します

引用符があります。-w2000を使用して、各行を1行に保持します。

2
stevej6x7

これを行う最も簡単な方法はExcelからだと思います。

  1. 新しいExcelファイルを開きます。
  2. [データ]タブをクリックします
  3. 他のデータソースを選択
  4. SQL Serverを選択
  5. サーバー名、データベース、テーブル名などを入力してください。

Excelの新しいバージョンを使用している場合は、PowerPivotからデータを取り込み、このデータをテーブルに挿入できます。

1
salvationishere

SQL Server 2012-Management Studioの場合:

解決策1:

クエリを実行する

結果ウィンドウを右クリック

メニューから結果に名前を付けて保存を選択します

CSVを選択

解決策2:

データベースを右クリック

タスクの選択、データのエクスポート

ソースDBを選択

宛先の選択:フラットファイル宛先

ファイル名を選ぶ

形式の選択-区切り

テーブルを選択するか、クエリを作成します

列区切り文字を選択します

注:引用符など、テキストフィールドを区切るテキスト修飾子を選択できます。

コンマを含むフィールドがある場合、コンマをエスケープしないため、区切り文字としてコンマを使用しないでください。垂直バーなどの列区切り文字を選択できます。コンマまたはタブ文字の代わりに。そうでない場合は、コンマをエスケープするか、varcharフィールドを区切るクエリを作成します。

使用する必要があるエスケープ文字またはテキスト修飾子は、要件によって異なります。

1
live-love

次のNode.jsモジュールを使用して、簡単に実行できます。

https://www.npmjs.com/package/mssql-to-csv

0
adnan kamili

SSISはこれを行うための非常に良い方法です。これは、SQL Serverエージェントジョブを使用してスケジュールできます。

0
user44565