ssis如何清洗不规则日期值

0
源表中有个出生年月字段birth varchar(16),有部分值是不合法的日期:-920139,-9130202,01960901,空,NULL,这些不规则的值在抽取的时候一般怎么处理呢,所有记录抽取到目标表之后要拿这个字段算年龄的,如果不处理,没法正确算年龄。。。求指点下,ssis刚起步
已邀请:
1

天桥下的郑成功 - Hadoop大数据开发工程师、数仓架构师、熟悉数据仓库设计、Hadoop、Spark、HBase、Hive、SSIS等开发 2015-04-01 回答

这些不规则的你可以在DataFlow里进行清洗 或者 略过
SSIS控件都有错误处理机制,你在转换 varchar(16)到datetime的时候,如果会出错可以使用错误跳转。
然后走 红色的错误线路进行错误处理,处理方式可以选择 转储 或者 略过。
正确的还是走正常流程,给你个流程的例子

11.png


22.png


从图中可以看到,这个转换控件带有正常输出和错误输出2个方向。那么正如你所需要的,你需要将这个varchar转换为Date。那么你可以在这个控件里进行转换,如果错误看第二张图。就需要进行错误重定向,你可以再将错误配上错误信息插入另一张表,以进行再处理

以上皆为参考,真正的情况还是要看你的需求
 

要回复问题请先登录注册