如何删除SSMS中的空行?

时间:2010-04-30 05:51:57

标签: sql-server sql-server-2005 sql-server-2008 ssms

我有许多带有大量空行的.sql文件,例如。

WITH

  cteTotalSales (SalesPersonID, NetSales)

  AS

  (

    SELECT SalesPersonID, ROUND(SUM(SubTotal), 2)

    FROM Sales.SalesOrderHeader

    WHERE SalesPersonID IS NOT NULL

    GROUP BY SalesPersonID

  )

SELECT

  sp.FirstName + ' ' + sp.LastName AS FullName,

  sp.City + ', ' + StateProvinceName AS Location,

  ts.NetSales

FROM Sales.vSalesPerson AS sp

  INNER JOIN cteTotalSales AS ts

    ON sp.BusinessEntityID = ts.SalesPersonID

ORDER BY ts.NetSales DESC

是否可以在SQL Server Management Studio中删除这些空行?这就是我想要的:

WITH
  cteTotalSales (SalesPersonID, NetSales)
  AS
  (
    SELECT SalesPersonID, ROUND(SUM(SubTotal), 2)
    FROM Sales.SalesOrderHeader
    WHERE SalesPersonID IS NOT NULL
    GROUP BY SalesPersonID
  )
SELECT
  sp.FirstName + ' ' + sp.LastName AS FullName,
  sp.City + ', ' + StateProvinceName AS Location,
  ts.NetSales
FROM Sales.vSalesPerson AS sp
  INNER JOIN cteTotalSales AS ts
    ON sp.BusinessEntityID = ts.SalesPersonID
ORDER BY ts.NetSales DESC

7 个答案:

答案 0 :(得分:25)

您可以使用SSMS中的正则表达式执行此操作:

  1. Ctrl-H以显示“查找和替换”窗口
  2. 选择USE - >正则表达
  3. 将^ \ n放入查找内容
  4. 保持替换为空
  5. 点击替换(全部)
  6. 祝你好运

答案 1 :(得分:5)

没有内置,查找和替换可以与正则表达式一起使用,而某些狡猾的人可能会有解决方案。

答案 2 :(得分:5)

答案 3 :(得分:1)

我已经按照以下步骤操作,对我有用。

  1. 工具->自定义->命令->添加命令->编辑->删除空白行->确定。
  2. “删除空白行”菜单出现在“文件”菜单旁边。
  3. 打开/选择查询-单击“删除空白行”。
  4. 享受。

答案 4 :(得分:0)

Redgate Sql Toolbelt很适合这个。该软件包包含Sql PromptSql Refactor,可以轻松格式化您的查询(即使格式非常糟糕)。它可以让你剪切空间,根据你的需要移动东西。

  

代码完成   在您键入时,SQL Prompt提供不引人注目的支持,建议适当的关键字,表,视图和其他数据库对象。它甚至建议基于外键约束或匹配列名的完整连接条件。有意义的地方SQL Prompt将为您完成整个语句,例如INSERT或ALTER VIEW。

     

SQL重新格式化(仅限专业版)   Format SQL命令重新格式化任何SQL以匹配您选择的编码样式。清晰准确的格式化使得理解复杂的SQL变得更加容易,并有助于在整个团队中保持一致的风格。

如果您有预算,这不是免费的,但绝对值得一试。

答案 5 :(得分:0)

使用查找和替换精细' ^ \ n'并在替换中让空白另外选中在“查找”选项中使用正则表达式。

答案 6 :(得分:0)

工具->自定义->命令->添加命令->编辑->删除空白行->确定

相关问题