トップ回答者
ManagementStudio2012でクエリ結果をコピー(取得データにタブが含まれる)したときの挙動について

質問
-
お世話になります。
単純に設定の問題なのかもしれませんが有効な情報を見つけることができず、
ManagementStudio2012とManagementStudio2008r2において挙動が変わってしまい困っております。内容
SSMS2012でクエリの実行結果を「ヘッダー付きでコピー」⇒Excelに貼り付けたとき
データの中に"タブ"が混ざっていると、タブで分割されてセルにデータが貼り付く。SSMS2008r2 でクエリを実行し、同様に「ヘッダー付きでコピー」⇒Excelに貼り付けたときは
データの中にタブが混ざっていても分割されることなく1カラム、1セルにデータが貼りつく。==
SSMS2012バージョン:11.0.6020.0
SSMS2008r2バージョン:10.50.4042.0データ取得元 DB
SQLServer2012 互換レベル110以上、よろしくお願い致します。
- 編集済み k-matsu747 2017年6月6日 23:40 誤記
回答
-
とりあえず、自己解決しましたのでメモ。
SSMS2016 で どちらの動作にするか選べるようになってました。
SSMS2016で、コピーまたは保存時に CR/LF を保持 の選択オプションが追加されてます。
(ツール>オプション>クエリ結果>SQL Server>結果をグリッドに表示 のオプションの中)
SSMS2016 (13.0.16106.4) で試したところ、 SSMS2008r2 と同様にタブで分割されずに1カラム1セルにデータが貼りつく。
また、コピーまたは保存時にCR/LFを保持 のオプションをON にしておくと、 SSMS2012 と同様に分割されて貼りつく
- 回答としてマーク k-matsu747 2017年6月8日 6:12
すべての返信
-
trapemiya様
ご返信ありがとうございます。
>その列の値をダブルクォーテーションで括ることにより・・
最終的にはそのような対応の検討も必要になってしまうのかもしれませんが、
そもそも、SSMS2012とSSMS2008r2上でSQLを実行し、実行結果のグリッドをコピーして
excelに貼り付けたときの結果が異なるというのが疑問でなりません。
ユーザ側でSSMS上で、SQL実行⇒結果グリッドをコピーしてExcel資料に貼り付ける作業が何個もあります。
できれば実行SQLを変えずにSSMS2012の何かしらの設定(結果グリッドをコピーしたときの設定?)変更で
対応できるのが一番良いと思った次第です。
現状では 資料作成時はSSMS2012はあきらめて SSMS2008r2の利用に戻してもらおうかと思います。
-
とりあえず、自己解決しましたのでメモ。
SSMS2016 で どちらの動作にするか選べるようになってました。
SSMS2016で、コピーまたは保存時に CR/LF を保持 の選択オプションが追加されてます。
(ツール>オプション>クエリ結果>SQL Server>結果をグリッドに表示 のオプションの中)
SSMS2016 (13.0.16106.4) で試したところ、 SSMS2008r2 と同様にタブで分割されずに1カラム1セルにデータが貼りつく。
また、コピーまたは保存時にCR/LFを保持 のオプションをON にしておくと、 SSMS2012 と同様に分割されて貼りつく
- 回答としてマーク k-matsu747 2017年6月8日 6:12