В настоящее время я работаю над проектом, который требует, чтобы данные из отчета, созданного сторонним программным обеспечением, вставлялись в локальную базу данных SQL. До сих пор у меня есть данные, хранящиеся в виде табуляции файла .txt и следующая насыпной вставка SQL заявление:Форматирование полей во время массовой вставки SQL 2008
BULK INSERT ExampleTable
FROM 'c:\temp\Example.txt'
WITH
(
FIRSTROW = 2,
FIELDTERMINATOR = '\t',
ROWTERMINATOR = '\n'
)
GO
Две проблем я сталкивающаяся являются, кавычки вокруг любого значения, которое включает в себя его собственная запятая, и денег знаки в каждой области, которая имеет сумму в долларах.
Например, один из столбцов таблицы - это поле описания, а некоторые значения выглядят так: «это пример описания, дополнительная информация, я не знаю, почему автор использовал запятые в первую очередь здесь »
Меня не интересует поле описания почти столько же, сколько и другие поля, содержащие суммы в долларах. Каждое из этих полей уже имеет префикс знака $, поэтому я должен установить их как nvarchar вместо десятичного или float, что будет A LOT более полезно для отчетности. Кроме того, когда сумма доллара больше 1000, поле также будет содержать запятую и, таким образом, кавычки. ex "$ 1,084.59"
Я знаком с SSMS, но я никогда не делал формат или файл bcp (решения, которые я нашел в Интернете).
Любая помощь была бы принята с благодарностью.
Благодарим за помощь. Я пришел к такому же выводу, что данные должны быть предварительно обработаны. –
Одна вещь, которую я делал в прошлом с успехом, - это импорт данных в таблицу с необработанной строкой, ограничивающей только строку. Затем с несколькими видами вы можете создать интеллект предварительной обработки, а затем вставить в физическую таблицу из своих представлений или сделать из нее хранимую процедуру. – cocogorilla