我有很多.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(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
8条答案
按热度按时间b1payxdu1#
您可以使用SSMS中的正则表达式:
1.按Ctrl-H键打开“查找和替换”窗口
1.选择USE->正则表达式
1.将^\n放入“查找内容”
1.保持替换为空
1.单击“替换(全部)”
祝你好运
hfsqlsce2#
我已经完成了以下步骤,这对我很有效。
1.菜单工具→ 自定义→ 命令→ 添加命令→ 编辑→ 删除空白行→ 好啊
1.删除空白行菜单显示在文件菜单旁边。
1.打开/选择查询-单击“删除空白行”。
1.享受。
uujelgoq3#
您可以使用:查找和替换
在这里描述:
http://my.safaribooksonline.com/book/databases/microsoft-sql-server/9781617290473/using-regular-expressions-in-ssms/ch21lev1sec1#X2ludGVybmFsX0h0bWxWaWV3P3htbGlkPTk3ODE2MTcyOTA0NzMlMkZjaDIxbGV2MXNlYzImcXVlcnk9
c2e8gylq4#
它不是内置的。find和replace可以与regex一起使用,而狡猾的人可能会有一个解决方案。
wsewodh25#
菜单工具→ 自定义→ 命令→ 添加命令→ 编辑→ 删除空白行→ 好啊
jgwigjjp6#
Redgate Sql Toolbelt对此很好。这个包有Sql Prompt和Sql Refactor,可以轻松格式化查询(即使是非常糟糕的格式)。它将允许你减少空间,根据你的需要移动东西。
键入时的代码完成SQL Prompt提供了不显眼的支持,建议适当的关键字、表、视图和其他数据库对象。它甚至建议基于外键约束或匹配列名的完整联接条件。在有意义的地方,SQLPrompt将为您完成整个语句,例如INSERT或ALTER VIEW。
SQL重新格式化(仅限专业版)Format SQL命令重新格式化任何SQL,以匹配您选择的编码样式。清晰准确的格式使理解复杂的SQL变得更加容易,并有助于在整个团队中保持一致的风格。
这不是免费的,但如果你有预算的话,绝对值得一试。
sycxhyv77#
你们中的一些人发现,正则表达式查找并用空白替换
^\n
不起作用,我遇到了同样的问题,因为我的文件包含CR LF,而不仅仅是LF。在本例中,使用^\r\n
对我很有效。yv5phkfx8#
将查找并替换与精细“^\n”一起使用,并在替换中将其留空。
此外,在Find选项中选中Use regular expression。