У меня есть очень простой текстовый файл, содержащий два значения, разделенные запятой, длина которых составляет около 100 строк. Этот файл создается автоматическим процессом (который я не могу контролировать), и я импортирую этот файл в SQL через SSIS.Как удалить пробелы при импорте плоского файла, содержащего промежуточные пустые строки?
Моя работа очень хорошо, за исключением случаев, когда в файле есть пустая строка. Под этим я подразумеваю, что он полностью пуст - никаких запятых или других символов. Когда это существует в файле, запись непосредственно после него будет импортирована с двумя пробелами перед импортированным значением.
Например, если текстовая строка содержит это «ABC, 123», импортированное значение SQL будет «ABC» для первого столбца. Я попытался удалить это, используя производный столбец с инструкцией TRIM, но это не повлияло. Функция REPLACE также не работала. Действительно странная часть заключается в том, что если я добавлю средство просмотра данных непосредственно перед потоком передачи данных, значение будет выглядеть нормально. Я даже добавил звездочки, так что я мог «видеть» пространство, если они существуют, например:
"*" + REPLACE([Column 0]," ","") + "*"
Это чрезвычайно раздражает вопрос, и я бы очень признателен за любые предложения. Спасибо!
Шиву - СПАСИБО за очень подробный ответ. Будет ли вам польза от этого, а не просто делать REPLACE внутри производной колонки напрямую? – Loki70
Siva - Спасибо за разъяснение и отличную запись. Вы заработали свою классификацию «принятого ответа» (при том понимании, что метод выражения является альтернативой). – Loki70