如何删除SSMS中的换行符?


22

我正在处理如下所示的SQL

create procedure


as


begin

请注意,例如as和之间的差距很大begin

如何删除这些?我使用了SQL格式化程序,但这不起作用。

Answers:


22

在SQL Server Management Studio(SSMS)中,有一个命令删除空行,尽管默认情况下它在菜单,工具栏图标或键盘快捷键上不可用。

如果必须定期执行此操作,请编辑菜单,工具栏或快捷方式以添加此命令。例如,将此命令添加到“编辑/高级”菜单中:

在工具菜单上,选择自定义:

工具菜单窗口

在出现的窗口中,选择“命令”选项卡,然后在菜单栏列表中下拉以选择“ 编辑” |“选择” 进阶

自定义窗口

然后单击添加命令

添加命令选择

现在选择Edit类别并滚动Commands列表以选择Delete Blank Lines

添加命令窗口

完成此操作后,“ 删除空白行”将出现在“编辑/高级”菜单中。上面显示的“自定义”对话框中还有其他选项,可以将命令放置在菜单中,添加键盘快捷方式或将其图标添加到工具栏。


3
实际上,如果您探索其中有哪些命令,则可以为各种编辑选项创建快捷方式。这让我想知道您是否几乎可以创建一堆设置来使SQL编辑器窗口像vi或emacs一样运行……
Rob Farley 2015年

19

您可以使用find和replace来做到这一点,但要注意,如果您的字符串文字带有嵌入式换行符,则这些文字也会被更改。

以下内容查找连续换行符的所有实例,并将它们替换为一个。

  1. Ctrl+ H打开“查找和替换”对话框
  2. 找什么: \n+
  3. 用。。。来代替 \n
  4. Use -> Regular Expressions
  5. 单击替换/全部替换
  6. 取消勾选Use -> Regular Expressions,以免下次使用该对话框时混淆结果。

在此处输入图片说明


1

您可以使用SSMS中的正则表达式来做到这一点:

  1. Ctrl-H调出“查找和替换”窗口
  2. 选择USE->正则表达式
  3. 将^ \ n放入“查找内容”
  4. 保持替换为空
  5. 单击替换(全部)

0

新行通常由\ r \ n字符组成,因此在Martin的答复中尝试替换子点2。找到内容:(\ r \ n)+ 3.替换为:\ r \ n或在Nilesh的回答中更好尝试替换子点3。放置^(\ r \ n)+这样可以最大程度地减少更改的次数

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.