65

SQL Server 2005のデータをCSV形式(引用符で区切って)にエクスポートしたい。複雑なやり方はたくさん考えられますが、正しいやり方でやりたいと思っています。bcpを見てきましたが、フィールドを引用符で囲む方法がわかりません(フィールド値に連結する場合を除きます。これは醜いです)。sqlcmdと-oでできると思いますが、同じ理由で醜いようです。

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

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

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

4

13 に答える 13

64

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

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

于 2009-04-28T19:28:55.197 に答える
44

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

于 2009-04-28T19:29:39.763 に答える
31

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

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

これは、コマンドラインから実行するための高速な方法です。

于 2009-12-15T15:27:42.370 に答える
25

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

注:上記の方法は、SSMS2005Expressでは機能しません。私の知る限り、SSMS 2005 Expressを使用して結果を.csvにエクスポートするときに、フィールドを引用する方法はありません。

于 2010-09-29T22:36:35.587 に答える
9

ええ、クエリ結果をCSVに保存したいだけなら、ManagementStudioには非常にシンプルなユーティリティがあります。

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

于 2009-04-28T19:30:31.603 に答える
7

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

構成を説明するリンクは次のとおりです。

于 2009-04-28T19:33:17.680 に答える
5

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

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

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

または、カンマ区切り文字を使用した「結果からテキストへ」

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

于 2009-04-28T19:29:12.450 に答える
2

nocountを設定します

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

于 2010-01-06T16:23:13.643 に答える
2

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

簡単!

于 2010-03-17T22:46:58.480 に答える
1

SQL Server 2012の場合-ManagementStudio:

解決策1:

クエリを実行します

結果ウィンドウを右クリックします

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

CSVを選択

解決策2:解決策2:

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

[タスク]、[データのエクスポート]を選択します

ソースDBを選択

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

ファイル名を選択してください

[形式]-[区切り]を選択します

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

列区切り文字を選択してください

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

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

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

于 2014-08-26T19:08:05.040 に答える
1

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

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

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

于 2017-06-19T19:07:45.970 に答える
0

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

于 2015-05-13T20:12:00.030 に答える
0

次のNode.jsモジュールを使用して、簡単にそれを行うことができます。

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

于 2016-02-04T08:44:56.600 に答える