Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

SQL non inserirà valori null con BULK INSERT

Secondo:

http://msdn.microsoft.com/en-us/library/ms187887 .aspx

i valori null possono essere inseriti avendo un campo vuoto all'interno del tuo file.

Il file di esempio era:

1,,DataField3
2,,DataField3

Il metodo di esempio per importare i file mantenendo i valori null è:

USE AdventureWorks;
GO
BULK INSERT MyTestDefaultCol2
FROM 'C:\MyTestEmptyField2-c.Dat'
WITH (
    DATAFILETYPE = 'char',
    FIELDTERMINATOR = ',',
    KEEPNULLS
);
GO

Certo, questo significa che dovrai cambiare i tuoi "NULL" in "" e qualsiasi stringa vuota che volevi come stringa vuota verrebbe interpretata come null, ma potrebbe essere sufficiente per iniziare? Immagino di mantenere le colonne di stringa vuote da cui dovrebbero essere modificate

field1,,field2

a

field1,"",field2

ad esempio