SQL-服务器替换空白单元格与NULL值(SQL-Server replace empty cell

2019-09-22 04:58发布

我使用SSIS移动Excel数据到一个临时SQL Server表,并从那里到目标表。 所以,我的临时表只包括VARCHAR列的 - 我的目标表预计货币价值的一些列。 在我的临时表的原始Excel列有一个公式,但是,这是由临时表与空单元格,以及代表的一些行留下一个空单元格 。 但是,当我投这列金钱的一个原本这些空白单元格成为目标列0,00。

当然,这不是我想要的东西,所以我怎么能在那里得到NULL值? 记住,这是可能的通缉0,00在这些列中的一个出现了。

我想我需要修改我的临时表转空单元格设置为NULL。 我能做到这一点从SSIS包内,或者是有,我可以使用表格设置?

谢谢。

Answer 1:

对于现有的数据,你可以写一个简单的脚本更新数据为NULL,其中空。

UPDATE YourTable SET Column = NULL WHERE Column = ''

对于刀片可以使用NULLIF函数,如果空插入空

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

编辑:对于多列的更新需要这两个解决方案结合,写类似:

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

等等

这将更新所有



文章来源: SQL-Server replace empty cells with NULL value