如何使用 SSIS 表达式将格式为 yyyyMMdd 的字符串转换为日期? [英] How to convert string in format yyyyMMdd to date using SSIS expression?

查看:27
本文介绍了如何使用 SSIS 表达式将格式为 yyyyMMdd 的字符串转换为日期?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在 csv 中有一个日期 20130131 我正在尝试将其转换为 2013-13-01> 在 SSIS 中使用派生列.我用过这个表达式,但它似乎不起作用.

I have a date 20130131 in csv which I'm trying to convert to 2013-13-01 using Derived Column in SSIS. I have used this expression but it does not seem to work.

(DT_DBTIMESTAMP)(SUBSTRING(DATE_DECISION_TO_REFER,1,2) + "-" + SUBSTRING(DATE_DECISION_TO_REFER,3,2) + "-" + SUBSTRING(DATE_DECISION_TO_REFER,5,2))

(DT_DBTIMESTAMP)(SUBSTRING(DATE_DECISION_TO_REFER,1,2) + "-" + SUBSTRING(DATE_DECISION_TO_REFER,3,2) + "-" + SUBSTRING(DATE_DECISION_TO_REFER,5,2))

如何重写此表达式以生成具有数据类型 DT_DBTIMESTAMP 的值的正确输出?

How do I rewrite this expression to produce the correct output with a value of data type DT_DBTIMESTAMP?

推荐答案

根据 Kyle Hale 的建议,下面是我的回答

As per Kyle Hale suggestion, below is my answer

    SUBSTRING([DATE_DECISION_TO_REFER],1,4) + "-" +
 SUBSTRING([DATE_DECISION_TO_REFER],5,2) + "-" + SUBSTRING([DATE_DECISION_TO_REFER],7,2)

教育你,让你永远不会再遇到这个问题,这就是表达的工作方式

To educate you so that you will never face this issue again, this is how expression works

 Get 4 characters from DATE_DECISION_TO_REFER starting at position 1, add a dash,
 get 2 characters from DATE_DECISION_TO_REFER starting at position 5,
 add a dash then add 2 characters from DATE_DECISION_TO_REFER starting at position 7.

希望这会有所帮助.

这篇关于如何使用 SSIS 表达式将格式为 yyyyMMdd 的字符串转换为日期?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆