Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 如何删除SQL Server Management Studio(SSMS)中的空行?_Sql Server_Sql Server 2005_Sql Server 2008_Ssms - Fatal编程技术网

Sql server 如何删除SQL Server Management Studio(SSMS)中的空行?

Sql server 如何删除SQL Server Management Studio(SSMS)中的空行?,sql-server,sql-server-2005,sql-server-2008,ssms,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.F

我有很多.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
有没有办法删除(SSMS)中的这些空行

这就是我想要的:

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

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

您可以使用SSMS中的正则表达式:

  • Ctrl-H打开“查找和替换”窗口
  • 选择使用->正则表达式
  • 将^\n放入“查找内容”对话框中
  • 保持替换为空
  • 单击替换(全部)

  • 祝你好运

    Redgate Sql工具带对此很有好处。这个包有和,它允许轻松格式化您的查询(即使是非常糟糕的格式化)。它可以让你减少空间,根据需要移动物品

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

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


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

    你可以使用:查找并替换

    • 查找内容:\n\n
    • 替换为:\n
    • 用法:“正则表达式”
    这里描述的是:

    使用Find并替换为fine'^\n',在Replace中保留为空


    此外,在“查找”选项中选中“使用正则表达式”。

    菜单工具→ 定制→ 命令→ 添加命令→ 编辑→ 删除空行→ 好的。

    我已经完成了以下步骤,它对我很有效

  • 菜单工具→ 定制→ 命令→ 添加命令→ 编辑→ 删除空行→ 嗯
  • “删除空行”菜单出现在“文件”菜单旁边
  • 打开/选择查询-单击“删除空行”
  • 享受

  • 谢谢,我自己解决了这个问题:使用正则表达式替换,并在line:^\n的开头找到换行符。不带任何内容的Repalce.@all,检查步骤的下一个答案此处似乎有效
    查找内容:\n\n*
    替换为:\n
    这应该是答案,不确定为什么另一个是。@nosaid编译器,因为这是正确的答案,在问题提出后6分钟内给出,并允许提问者找到所需的具体解决方案。与提出相同解决方案的方案不同,该方案复制了提问者对已接受答案的评论中已有的信息,并在答案被标记为已接受后4个月提供。这可能是一个更好的答案,因为它更清楚,但我们可以看到这反映在投票中。一切如常,系统正常工作!:-)@Ryanfasescotland-完全有道理。感谢您花时间提供解释。谢谢-这是唯一对我有效的方法Regex找不到“^nStrange”,我也不得不求助于此,因为Regex不起作用。如果有人能解释一下原因,那就很有趣了。这是正确的答案——既然有内置的方法,为什么还要乱搞正则表达式?SQL有相应的“编码标准”吗?你说的“精细”是什么意思?(请回复(不带“编辑:”、“更新:”,或类似内容),此处无评论)。