首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SSIS是否在处理日期和空日期?

SSIS是否在处理日期和空日期?
EN

Stack Overflow用户
提问于 2016-10-03 21:01:21
回答 2查看 285关注 0票数 0

我正在尝试使用MS-SSIS 2012加载CSV文件。CSV中的日期格式为;

代码语言:javascript
复制
1900-12-12
1987-01-23
.. etc

我编写了这段代码来将日期从字符串转换为日期,然后修复空值(并不是每一行都有日期)

代码语言:javascript
复制
(DT_DATE)(SUBSTRING(ISNULL(Geboortedatum) ? "1900-01-01" : Geboortedatum,1,4) + "-" + SUBSTRING(ISNULL(Geboortedatum) ? "1900-01-01" : Geboortedatum,6,2) + "-" + SUBSTRING(ISNULL(Geboortedatum) ? "1900-01-01" : Geboortedatum,9,2))

此操作失败..我的原创是;

代码语言:javascript
复制
(DT_DATE)(SUBSTRING(Geboortedatum,1,4) + "-" + SUBSTRING( Geboortedatum,6,2) + "-" + SUBSTRING(Geboortedatum,9,2))

它工作得很好,直到我在我的文件中得到空值。有什么想法吗?

EN

回答 2

Stack Overflow用户

发布于 2016-10-03 21:48:33

试试这个吧。比你的代码简单一点,速度快一点:)

代码语言:javascript
复制
(DT_DATE) (ISNULL(Geboortedatum) ? "1900-01-01" : (SUBSTRING(Geboortedatum,1,4) + "-" + SUBSTRING( Geboortedatum,6,2) + "-" + SUBSTRING(Geboortedatum,9,2)))
票数 0
EN

Stack Overflow用户

发布于 2016-10-03 22:05:01

这就完成了工作..它似乎不是一个真正的空值。

代码语言:javascript
复制
(DT_DATE)(TRIM(Geboortedatum) == "" ? "1900-01-01" : (SUBSTRING(Geboortedatum,1,4) + "-" + SUBSTRING(Geboortedatum,6,2) + "-" + SUBSTRING(Geboortedatum,9,2)))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39832321

复制
相关文章

相似问题

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