Как убрать пустые строки в SSMS? - PullRequest
10 голосов
/ 30 апреля 2010

У меня много файлов .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 ]

25 голосов
/ 26 августа 2010

Вы можете сделать это с помощью регулярного выражения в SSMS:

  1. Ctrl-H, чтобы открыть окно поиска и замены
  2. Выберите ИСПОЛЬЗОВАТЬ -> Регулярные выражения
  3. Поместите ^ \ n в Найти что
  4. Keep Replace With empty
  5. Нажмите Заменить (Все)

Удачи

5 голосов
/ 02 июля 2013

Вы можете использовать: Найти и заменить

  • Найти что: \ n \ n
  • Заменить на: \ n
  • использование: 'регулярные выражения'

это описано здесь:

http://my.safaribooksonline.com/book/databases/microsoft-sql-server/9781617290473/using-regular-expressions-in-ssms/ch21lev1sec1#X2ludGVybmFsX0h0bWxWaWV3P3htbGlkPTk3ODE2MTcyOTA0NzMlMkZjaDIxbGV2MXNlYzImcXVlcnk9

5 голосов
/ 30 апреля 2010

Не встроенный, поиск и замена могут использоваться с регулярными выражениями, и у кого-нибудь хитрого может быть решение для этого.

1 голос
/ 06 февраля 2019

Я прошел следующие шаги, и это сработало для меня.

  1. ИНСТРУМЕНТЫ-> НАСТРОЙКА-> КОМАНДЫ-> ДОБАВИТЬ КОМАНДУ-> РЕДАКТИРОВАТЬ-> УДАЛИТЬ ПУСТОЙ ЛИНИЯ-> ОК.
  2. Рядом с меню «Файл» появляется меню «Удалить пустые строки».
  3. Открыть / Выбрать запрос - нажмите «Удалить пустые строки».
  4. Наслаждайтесь.
0 голосов
/ 05 января 2019

ИНСТРУМЕНТЫ-> НАСТРОЙКА-> КОМАНДЫ-> ДОБАВИТЬ КОМАНДУ-> РЕДАКТИРОВАТЬ-> УДАЛИТЬ ПУСТОЙ ЛИНИЯ-> ОК

0 голосов
/ 17 марта 2015

Используйте Find и Replace с точным '^ \ n', а в параметре replace пустую опцию дополнительно отметьте Использовать регулярное выражение в опции Find.

0 голосов
/ 26 августа 2010

Redgate Sql Toolbelt хорош для этого. Этот пакет имеет Sql Prompt и Sql Refactor , что позволяет легко форматировать ваш запрос (даже из очень плохого форматирования). Это позволит вам сократить пространство, перемещать вещи в соответствии с вашими потребностями.

Завершение кода При вводе SQL Prompt обеспечивает ненавязчивую поддержку, предлагая соответствующие ключевые слова, таблицы, представления и другие объекты базы данных. Он даже предлагает полные условия соединения, основанные на ограничениях внешнего ключа или соответствующих именах столбцов. Где это имеет смысл, SQL Prompt выполнит для вас полные операторы, такие как INSERT или ALTER VIEW.

Переформатирование SQL (только для версии Pro) Команда Format SQL переформатирует любой SQL в соответствии с выбранным вами стилем кодирования. Четкое и точное форматирование значительно упрощает понимание сложного SQL и помогает поддерживать согласованный стиль для всей команды.

Это не бесплатно, но определенно стоит попробовать, если у вас есть на это бюджет.

...