Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

SQL n'insérera pas de valeurs nulles avec BULK INSERT

Selon :

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

les valeurs nulles peuvent être insérées en ayant un champ vide dans votre fichier.

Le fichier d'exemple était :

1,,DataField3
2,,DataField3

Exemple de méthode d'importation de fichier gardant les valeurs nulles :

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

Certes, cela signifie que vous devrez changer vos "NULL" en "", et toutes les chaînes vides que vous vouliez comme chaîne vide seraient interprétées comme des valeurs nulles, mais cela pourrait suffire à vous aider à démarrer ? J'imaginerais garder vos colonnes de chaînes vides à partir desquelles elles devraient être modifiées

field1,,field2

à

field1,"",field2

comme exemple