首页 > 解决方案 > SSIS 使用 SSIS 表达式将 mddyyyy 和 mmddyyyy 格式的日期转换为日期格式

问题描述

我在一个来源中以 aMMddyyyyMddyyyy格式接收日期,如果月份有 1-9 位数,则月份为 1 位数,如果月份在 10-12 之间,则为 2 位数,我需要一个 SSIS 表达式能够将它们转换为日期格式。

205199412051994

两者都来自同一来源,但很难使用相同的 SSIS 表达式进行转换

标签: sql-serverdatessisetldate-conversion

解决方案


您可以使用以下表达式将字符串转换MddyyyMMddyyyyDateTime 值:

(DT_DATE)(RIGHT("0000" + RIGHT(RIGHT("0" + [DateColumn],8),4),4) + 
"-" + RIGHT("00" + LEFT(RIGHT("0" + [DateColumn],8),2),2) + 
"-" + RIGHT("00" + SUBSTRING(RIGHT("0" + [DateColumn],8),3,2),2))

推荐阅读