Я пытаюсь использовать BULK INSERT для вставки некоторых строк:BULK INSERT вставляет разделитель вместо значения NULL по умолчанию для Empy полей
CREATE TABLE Foo (
Id UNIQUEIDENTIFIER NOT NULL PRIMARY KEY DEFAULT newsequentialid(),
Name NVARCHAR(255) NULL,
CreatedOn DATETIME NOT NULL DEFAULT GETDATE(),
CreatedBy NVARCHAR(255) NOT NULL DEFAULT SUSER_NAME(),
ModifiedOn DATETIME NULL DEFAULT NULL,
ModifiedBy NVARCHAR(255) NULL DEFAULT NULL
);
Я вставляя из файла CSV, который имеет кодировку UTF8, запятые для разделители, и LF для окончания строки:
,Fizz,,,,,
Мой BULK INSERT заявление выглядит следующим образом:
BULK INSERT Foo
FROM 'C:\foo.csv'
WITH (CODEPAGE = '65001', FIELDTERMINATOR = ',' , ROWTERMINATOR = '0x0a');
Но последнее поле вставленной строки (ModifiedBy) имеет значение «» (с запятой delimter:
49625A3B-DCF1-E611-8D73-B00594F7CD91 Fizz 2017-02-13 12:04:48.223 sa NULL ,
Что я делаю неправильно и как мне сделать BULK INSERT вставить последнее поле как NULL (по умолчанию значение) вместо ','?
Я вижу там шесть запятых, последний не требуется. – galactocalypse