首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将DT_WSTR转换为DT_DATE

将DT_WSTR转换为DT_DATE
EN

Stack Overflow用户
提问于 2018-09-21 21:32:34
回答 1查看 2.1K关注 0票数 0

所以我对这个东西还很陌生,但是我正在解决一些问题。我尝试做的是从平面文件源中拉出源文件,但我所有源文件中的日期都被格式化为YYYYMMDD,所以我插入了一个派生列任务,并创建了一个表达式,将日期为YYYYMMDD的所有列格式化为YYYY-MM-DD,如下所示:

代码语言:javascript
运行
复制
LEFT(ISSUE_DT,4) + "-" + SUBSTRING(ISSUE_DT,5,2) + "-" + RIGHT(ISSUE_DT,2)

这一切都很好,除了它是DT_WSTR的数据类型,所以我放弃了一个列转换任务,将DT_WSTR转换为DT_DATE,但我一直收到以下错误:

代码语言:javascript
运行
复制
[Columns Conversion [1]] Error: Data conversion failed while converting 
column "ISSUE_DT Formatted" (258) to column "Copy of ISSUE_DT Formatted" 
(16).  The conversion returned status value 2 and status text "The value 
could not be converted because of a potential loss of data.".

我尝试打开高级编辑器,导航到数据转换输出列,并尝试将Data Type Properties下的DataType更改为DT_DATE,但仍然出现相同的错误。

我遗漏了什么或做错了什么?

Data Flow

Formatted Dates

Column Conversion

Column Conversion Advanced Editor

EN

回答 1

Stack Overflow用户

发布于 2018-09-22 00:16:36

某些日期的格式不是SSIS包所需的格式。也许个位数的月份或天数没有前导0。这种情况肯定会导致这个特定的错误。

以今天为例,如果一位数的月份或天数没有前导零,则会有2018918而不是20180918。在没有看到数据的情况下,我不能保证这就是确切的问题,但它是这样的。将字符串转换为日期时出错。所以继续上面的例子,在你的派生列ISSUED_DT格式化后,将有一个值'2018-91-18‘,这当然不是一个有效的日期,并导致错误。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52444881

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档