使用 SSIS 派生列提取日期值

Posted

技术标签:

【中文标题】使用 SSIS 派生列提取日期值【英文标题】:Extract date value using SSIS derived column 【发布时间】:2021-12-19 09:42:10 【问题描述】:

我有一个名为 Name_Excaa_2021-11-28.xlsx 的文件,我想使用派生列仅提取日期值 2021-11-28。

我正在使用下面的表达式,但它给了我输出2021-11-28.xlsx

RIGHT((DT_STR,50,1252)@[User::FileName],FINDSTRING(REVERSE(@[User::FileName]),"_",1) - 1)

如何解决这个问题并获取日期值2021-11-28

提前致谢。

【问题讨论】:

【参考方案1】:

假设您的文件名始终以 yyyy-mm-dd.xlsx 格式结尾,您可以使用 right 选择该部分以获取最后 15 个字符,然后使用 left 从这 15 个字符中仅提取日期的 10 个字符:

left(right(@[User::FileName],15),10)

【讨论】:

我只把最后一个字符改成了16个,效果很好。左(右(@[用户::文件名],16),10)

以上是关于使用 SSIS 派生列提取日期值的主要内容,如果未能解决你的问题,请参考以下文章

SQL SSIS 使用派生列转换来处理空数据.. 替代方案?

在 SSIS 派生列中替换 NULL

如何在 SSIS 派生列中的嵌套 if 条件表达式中使用 TRIM

SSIS派生列问题

SQL SSIS派生列公式/语法问题

如果条件不满足,派生列表达式SSIS如何忽略表达式?