sql >> Database >  >> RDS >> Sqlserver

SQL zal geen null-waarden invoegen met BULK INSERT

Volgens:

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

null-waarden kunnen worden ingevoegd door een leeg veld in uw bestand te hebben.

Voorbeeldbestand was:

1,,DataField3
2,,DataField3

Voorbeeldmethode voor het importeren van nulls voor het bijhouden van bestanden is:

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

Toegegeven, dit betekent dat je je "NULL"-en moet veranderen in "", en alle lege tekenreeksen die je als lege tekenreeks wilde, zouden als nulls worden geïnterpreteerd, maar het zou genoeg kunnen zijn om je op weg te helpen? Ik kan me voorstellen dat je je lege stringkolommen wilt behouden, ze zouden moeten worden gewijzigd van

field1,,field2

naar

field1,"",field2

als voorbeeld



  1. Vereist om deel te nemen aan 2 tafels met hun FK's in een 3e tafel

  2. Wat is het voordeel van try {} catch {} versus if {} else {}

  3. Enkele aanhalingstekens ontsnappen in SQL Server

  4. Transparante gegevensversleuteling en altijd versleuteld