Как я могу удалить конечные пробелы из запроса SQL Server 2008 при экспорте в CSV? - PullRequest
0 голосов
/ 06 сентября 2011

Вот проблема. Я запускаю запрос в SQL Server Management Studio. Я нажимаю «Сохранить результаты как ...» и сохраняю файл как CSV. Когда я открываю файл CSV (с помощью Блокнота или любого текстового редактора), в каждом столбце добавляются конечные пробелы, чтобы сделать их одинаковой ширины. Это крайне неприятно, потому что когда я открываю файл в Excel, он автоматически преобразует поля в столбцы, изменяя номера счетов и т. Д. В научную нотацию.

В SQL Server 2005 дополнительные пробелы не добавляются, поэтому Excel просто помещает все данные в один столбец. Затем я могу преобразовать текст в столбцы и указать каждый столбец как текст. Но моя компания переключила меня на SQL Server 2008, и теперь единственный способ получить правильное форматирование - это импортировать CSV в Access, запускать функции Trim в Access (и, таким образом, изменять имена полей), чтобы избавиться от пробелов, а затем экспортировать из доступа в Excel. ПОЖАЛУЙСТА ПОМОГИ!!! Почему, черт возьми, SQL Server 2008 добавляет конечные пробелы и где можно остановить его ???

решено: см. Мой ответ ниже.

Ответы [ 3 ]

3 голосов
/ 06 сентября 2011

Вы можете просто использовать ltrim и rtrim в sql для обрезки результатов, поэтому ваш набор результатов не включает в себя конечные пробелы ...


select ltrim(rtrim(field) as trimmedField from table

1 голос
/ 24 июля 2013

Возможно, проблема в том, что вы используете char и nchar в схеме таблиц вместо varchar и nvarchar .Изменение типов столбцов может иметь следствие того, что сгенерированные CSV больше не имеют конечных пробелов.

Вот ссылка на разницу типов: В чем разница между char, nchar, varchar и nvarchar вSQL Server?

0 голосов
/ 07 сентября 2011

Хотя я не выяснил, почему CSV, созданный в SQL Server 2008, ведет себя иначе в Excel, чем в SQL Server 2005, я нашел решение своей непосредственной проблемы.

Прежде всего, пробелы не являются проблемой. Однако SS2008 добавляет их, а SS2005 - нет, и это раздражает. Но это не главная причина моей проблемы.

При щелчке правой кнопкой мыши по полученному CSV-файлу и выборе «Открыть с помощью -> Excel» он автоматически форматировался в плохо отформатированные столбцы (где CSV-файл SS2005 открывается со всеми данными в одном столбце). Чтобы решить эту проблему, я сначала открываю Excel, а затем открываю файл CSV из Excel. Это дает мне диалог форматирования столбца, который я пропустил.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...