2010-04-30 39 views
9

我有很多.sql文件有很多空行,例如如何刪除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 

是否是一種在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 

回答

4

不建,查找和替換可以用正則表達式的,有人狡猾的使用可能有專門的解決方案。

+6

謝謝,我自己解決了這個問題:使用正則表達式替換,並在行開始處找到換行符:^ \ n。沒有任何報酬。 – atricapilla 2010-04-30 06:30:40

22

您可以使用SSMS正則表達式做到這一點:

  1. 按Ctrl-H調出查找和替換窗口
  2. 選擇使用 - >正則表達式
  3. 認沽^ \ n在查找內容
  4. 保持替換爲空
  5. 單擊替換(所有)

祝你好運

+1

這應該是答案,不知道爲什麼另一個是。 – NoSaidTheCompiler 2014-12-17 17:09:27

+1

@NoSaidTheCompiler,因爲它是正確的答案,在問題提出6分鐘後給出並允許提問者找到所需的具體解決方案。與提出相同解決方案的相反,在答案被標記爲接受之後的4個月內,複製提問者已在評論中接受答案的信息。這可能是更好的答案,因爲它更清晰,但我們可以看到這反映在投票中。所有的東西都是應該的,系統運作正常! :-) – RyanfaeScotland 2016-05-17 13:03:46

+1

@Ryanfae蘇格蘭 - 完全有道理。感謝您花時間提供解釋。 – NoSaidTheCompiler 2016-05-17 13:50:12

0

Redgate Sql Toolbelt對此很有幫助。這個軟件包有Sql PromptSql Refactor,它可以很容易地格式化你的查詢(甚至可以從非常糟糕的格式)。它可以讓你削減空間,根據你的需要移動東西。

代碼完成 當您鍵入SQL Prompt時,會提供不引人注意的支持,建議適當的關鍵字,表,視圖和其他數據庫對象。它甚至建議基於外鍵約束或匹配列名稱的完整連接條件。有意義的SQL提示將爲您完成整個語句,例如INSERT或ALTER VIEW。

SQL重新格式化(僅限專業版) Format SQL命令會重新格式化所有SQL以匹配您選擇的編碼風格。清晰準確的格式使得理解複雜的SQL變得更加容易,並有助於在整個團隊中保持一致的風格。

這不是免費的,但絕對值得一試,如果你有它的預算。

0

使用查找並替換罰款'^ \ n'並替換讓空白額外檢查使用正則表達式在查找選項。