SQL-Server用NULL值replace空单元格

我正在使用SSIS将Excel数据移动到一个临时SQL服务器表,并从那里到目标表。 所以我的临时表只包含varchar列 – 我的目标表期望一些列的货币值。 在我的临时表中,最初的excel列有一个公式,但是在一些由temp表格和一个空单元格表示的行上留下一个空单元格。 但是,当我把这些列之一钱这些原来的空白单元格在目标列成为0.00

当然,这不是我想要的,那么如何获得NULL值? 请记住,在其中一列中可能出现想要的0,00。

我想我需要编辑我的临时表,将空的单元格为NULL。 我可以从SSIS包内做到这一点,或者有一个我可以使用的表的设置?

谢谢。

对于现有的数据,您可以编写一个简单的脚本,将数据更新为空的地方。

UPDATE YourTable SET Column = NULL WHERE Column = '' 

对于插入,您可以使用NULLIF函数插入空值

 INSERT INTO YourTable (yourColumn) SELECT NULLIF(sourceColum, '') FROM SourceTable 

编辑:多列更新你需要结合这两个解决scheme,并写下类似的东西:

 UPDATE YourTable SET Column1 = NULLIF(Column1, '') , Column2 = NULLIF(Column2, '') WHERE Column1 = '' OR Column2 = '' 

等等

这将更新所有