web-dev-qa-db-ja.com

SSMSで改行を削除する方法は?

私は次のようなSQLを扱っています

create procedure


as


begin

大きなギャップに注意してください。 asbeginの間。

これらを削除するにはどうすればよいですか? SQLフォーマッタを使用しましたが、これは機能しません。

22
Anand

SQL Server Management Studio(SSMS)には、Delete Blank Linesのコマンドがありますが、メニュー、ツールバーアイコン、またはキーボードショートカットでは使用できませんデフォルトでは。

これを定期的に行う必要がある場合は、メニュー、ツールバー、またはショートカットを編集して、このコマンドを追加してください。たとえば、このコマンドを編集/詳細メニューに追加するには、次のようにします。

[ツール]メニューから[カスタマイズ]を選択します。

Tools menu window

表示されるウィンドウで[コマンド]タブを選択し、メニューバーリストをドロップダウンして編集を選択します。上級

Customize window

次にAdd Commandをクリックします

Add Command selection

ここでEditカテゴリを選択し、Commandsリストをスクロールして空白行を削除

Add Command window

これが完了すると、Delete Blank LinesがEdit/Advancedメニューに表示されます。上記の[カスタマイズ]ダイアログには、メニューにコマンドを配置したり、キーボードショートカットを追加したり、ツールバーにコマンドのアイコンを追加したりするための他のオプションがあります。

22
Rob Farley

これは検索と置換で実行できますが、改行が埋め込まれた文字列リテラルがある場合、これらも変更されることに注意してください。

次の例では、連続した改行のすべてのインスタンスを検索し、それらを1つに置き換えます。

  1. Ctrl + H 検索と置換ダイアログを開く
  2. 何を見つける:\n+
  3. と置換する \n
  4. ティックUse -> Regular Expressions
  5. 置換/すべて置換をクリックします
  6. チェックを外すUse -> Regular Expressions次回その会話を使用するときに混乱する結果を避けるため。

enter image description here

20
Martin Smith

SSMSの正規表現を使用してそれを行うことができます:

  1. Ctrl-Hで検索と置換ウィンドウを表示
  2. USE->正規表現を選択します
  3. ^\nをFind Whatに入れる
  4. 置換後は空のままにする
  5. [置換(すべて)]をクリックします
1

新しい行は多くの場合\ r\n文字で構成されるため、マーティンの返信でサブポイントを置き換えようとします2.検索結果:(\ r\n)+ 3.置換:\ r\nまたはNileshの回答の方が優れていますサブポイント3を置き換えてみてください

0
Konrad Jasiski