将 DATETIME 列中的 NULL 值和空格替换为字符串作为"Not Available" ?



在SSIS项目中,我需要将datetime列的null值替换为字符串"不可用";。我尝试使用此查询选择coalize(将(varchar(30(,DateOfBirth,121(,"不可用"(作为[DateOfBirth]它正在替换,但当为ETL进行SCD转换时,映射错误出现在目的地DateOfBirth列的数据类型为DATETIME,并且在从源中选择转换为varchar(30(时

你试过吗?

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

如果您希望"不可用"作为值,则必须将目的地字段DateOFBIRTH设置为varchar。

如图所示,为了能够加载"不可用";在表本身中,它需要是varchar或nvarchar类型(而不是DateTime类型(。一旦你做到了,有两个独立的步骤:在一个步骤中将数据加载到表中,然后编写一个执行SQL任务,立即执行并更新它:

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

最新更新