SSIS 使用 SSIS 表达式将 mmddyyyy 格式的日期转换为日期格式
SSIS convert date in mmddyyyy format to date format using SSIS expression
我正在接收 MMddyyyy
格式的日期,但想将其转换为 SQL/SSIS yyyy-MM-dd
中的日期格式,如何使用 SSIS 表达式来实现。
我收到的日期示例是 03051978
,但希望它出现在 1978-03-05
。
谢谢
这是您的 SSIS 表达式。显然,这里的假设是日和月部分总是2位:
(DT_DBDATE)(SUBSTRING(col,5,4) + "-" + SUBSTRING(col,1,2) + "-" + SUBSTRING(col,3,2))
您可以使用以下表达式:
(DT_DATE)(RIGHT("0000" + RIGHT("03051978",4),4) + "-" + RIGHT("00" + LEFT("03051978",2),2) + "-" + RIGHT("00" + SUBSTRING("03051978",3,2),2))
只需将"03051978"
替换为列名即可,例如:
(DT_DATE)(RIGHT("0000" + RIGHT([DateColumn],4),4) + "-" + RIGHT("00" + LEFT([DateColumn],2),2) + "-" + RIGHT("00" + SUBSTRING([DateColumn],3,2),2))
来自 SSIS 表达式测试器工具的屏幕截图
我会使用脚本组件。
DateTime.ParseExact([datecol],"MMddyyyy", System.Globalization.CultureInfo.InvariantCulture);
我正在接收 MMddyyyy
格式的日期,但想将其转换为 SQL/SSIS yyyy-MM-dd
中的日期格式,如何使用 SSIS 表达式来实现。
我收到的日期示例是 03051978
,但希望它出现在 1978-03-05
。
谢谢
这是您的 SSIS 表达式。显然,这里的假设是日和月部分总是2位:
(DT_DBDATE)(SUBSTRING(col,5,4) + "-" + SUBSTRING(col,1,2) + "-" + SUBSTRING(col,3,2))
您可以使用以下表达式:
(DT_DATE)(RIGHT("0000" + RIGHT("03051978",4),4) + "-" + RIGHT("00" + LEFT("03051978",2),2) + "-" + RIGHT("00" + SUBSTRING("03051978",3,2),2))
只需将"03051978"
替换为列名即可,例如:
(DT_DATE)(RIGHT("0000" + RIGHT([DateColumn],4),4) + "-" + RIGHT("00" + LEFT([DateColumn],2),2) + "-" + RIGHT("00" + SUBSTRING([DateColumn],3,2),2))
来自 SSIS 表达式测试器工具的屏幕截图
我会使用脚本组件。
DateTime.ParseExact([datecol],"MMddyyyy", System.Globalization.CultureInfo.InvariantCulture);