SQLCMDでSELECT結果をCSV出力する。
SELECT文の結果をSQLCMDを利用し、CSV出力する
query.sql
クエリを指定したファイル
SET NOCOUNT ON; SELECT [Code] ,[Name] FROM [dbo].[Data] ;
SET NOCOUNT ON;を削除すると件数が一緒に出力される。
SQLCMD
query.sqlを読み取り、output.csvファイルへ出力する。
SQLCMD -S localhost -U sa -P {password} -d {dbname} -i query.sql -s, -W -h -1 -o output.csv
- オプションについて
命令 | 説明 |
---|---|
-S | サーバ名 |
-U | ログイン |
-P | パスワード |
-d | データベース |
-i | スクリプトファイル |
-s | 区切り文字 |
-W | 余計な空白を省く |
-h | -1でヘッダ非表示 |
-o | 出力ファイル |
-v | 変数 (param='001' => $(param)) |
-h オプションについて
-h -1の場合、ヘッダーが一切出力されなくなる。
001,Tokyo 002,Osaka 003,Nagoya 004,Hakata 005,Yokohama
-hオプションなしの場合
Code,Name ----,---- 001,Tokyo 002,Osaka 003,Nagoya 004,Hakata 005,Yokohama