2010-04-30 16 views
9

Ich habe viele .SQL-Dateien mit vielen leeren Zeilen, z.So entfernen Sie leere Zeilen in 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 

Gibt es eine Möglichkeit, diese leeren Zeilen in SQL Server Management Studio zu entfernen? Das ist, was ich haben möchte:

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 

Antwort

4

Nicht eingebaut, das Suchen und Ersetzen kann listig mit regex ist und jemand verwendet werden kann, für die eine Lösung.

+6

Danke, ich habe das selbst so ausgearbeitet: Replace mit regulärem Ausdruck, und finde Zeilenumbrüche am Anfang der Zeile:^\ n. Repalce mit nichts. – atricapilla

22

Sie können es mit dem regulären Ausdruck in SSMS:

  1. Strg-H mit der Suche zu bringen und ersetzen Fenster
  2. Wählen USE -> Reguläre Ausdrücke
  3. Put^\ n in der Suchen nach
  4. ersetzen Halten Mit leeren
  5. Klicken Sie auf Ersetzen (Alle)

Viel Glück

+1

Dies sollte die Antwort sein, nicht sicher, warum der andere ist. – NoSaidTheCompiler

+1

@NoSaidTheCompiler, weil es die richtige Antwort ist, wurde 6 Minuten nach der Frage gegeben und erlaubt dem Fragesteller, die spezifische Lösung zu finden. Im Gegensatz zu dieser, die die gleiche Lösung vorschlagen, kopiert Informationen, die bereits in einem Kommentar vom Fragesteller auf die angenommene Antwort und wurde 4 Monate nach der Antwort gegeben wurde als akzeptiert markiert. Es könnte eine bessere Antwort sein, da es klarer ist, aber wir können sehen, dass dies in den Abstimmungen reflektiert wird. Alles ist wie es sein soll, das System funktioniert! :-) – RyanfaeScotland

+1

@RyanfaeSchottland - macht total Sinn. Danke, dass Sie sich die Zeit genommen haben, die Erklärung zu geben. – NoSaidTheCompiler

0

Redgate Sql Toolbelt ist dafür gut. Dieses Paket hat Sql Prompt und Sql Refactor, die einfache Formatierung Ihrer Abfrage ermöglicht (auch von sehr sehr schlechten Formatierungen). Es wird Ihnen erlauben, auf Räume zu schneiden, Sachen um Ihren Bedarf herum zu bewegen.

Codevervollständigung Während Sie SQL eingeben, bietet die Eingabeaufforderung eine unaufdringliche Unterstützung und schlägt entsprechende Schlüsselwörter, Tabellen, Ansichten und andere Datenbankobjekte vor. Es schlägt sogar vollständige Join-Bedingungen vor, die auf Fremdschlüsseleinschränkungen oder übereinstimmenden Spaltennamen basieren. Wo es Sinn macht SQL-Eingabeaufforderung vervollständigt ganze Anweisungen für Sie, wie INSERT oder ALTER VIEW.

SQL-Neuformatierung (nur Pro-Edition) Der Befehl Format SQL formatiert jedes SQL neu, damit es dem von Ihnen gewählten Codierungsstil entspricht. Klare und genaue Formatierungen erleichtern das Verständnis von komplexem SQL und tragen dazu bei, dass das gesamte Team konsistent bleibt.

Es ist nicht kostenlos, aber definitiv einen Versuch wert, wenn Sie Budget dafür haben.

0

Verwenden Sie Suchen und Ersetzen mit Fein '^ \ n' und ersetzen Sie durch Leerzeichen ersetzen zusätzlich die Option Verwenden Sie regulären Ausdruck in der Option Suchen.

Verwandte Themen