将DATETIME列中的NULL值和空白替换为字符串“ Not Available”吗?

时间:2020-09-30 05:10:09

标签: sql-server ssis

在SSIS项目中,我需要用字符串“ Not Available”替换datetime列的空值。我对此查询进行了选择,选择Coalesce(convert(varchar(30),DateOfBirth,121),'Not Available')作为[DateOFBIRTH ] 它正在替换,但是在进行ETL的SCD转换时,映射错误如目的地一样出现,DateOfBirth列的数据类型为DATETIME,并且在从源转换为varchar(30)时选择

2 个答案:

答案 0 :(得分:0)

您尝试过吗?

isnull(DateOfBirth, 'Not Available') as [DateOFBIRTH] 

如果要将“不可用”作为值,则必须将目标字段DateOFBIRTH设置为varchar。

答案 1 :(得分:0)

如所示,为了能够将“ Not Available”加载到表本身,它必须是varchar或nvarchar类型( not 是DateTime类型)。完成此操作后,请执行两个单独的步骤:一步将数据加载到表中,然后编写一个Execute SQL Task以便在执行之后立即执行并更新它:

UPDATE [yourTableName]
SET DateOfBirth = 'Not Available'
WHERE DateOfBirth is null