You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用SSIS派生列从Excel文件名中提取纯日期值

你当前的表达式仅截取了文件名最后一个下划线之后的全部内容,因此会连带.xlsx后缀一起返回,需要调整表达式去掉后缀部分。

方案1:利用固定日期长度截取(最简洁,推荐)

因为你要提取的YYYY-MM-DD格式日期固定为10位字符,直接在你原表达式结果的基础上取前10位即可:

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

也可以一步定位截取:

SUBSTRING((DT_STR,50,1252)@[User::FileName], LEN(@[User::FileName]) - FINDSTRING(REVERSE(@[User::FileName]),"_",1) + 2, 10)

方案2:通用后缀剥离方案(适配不同后缀场景)

如果后续文件名后缀可能变化(比如出现.xls/.xlsm等其他格式),可以通过查找最后一个.的位置剥离后缀,适用性更强:

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

内容的提问来源于stack exchange,提问作者hana

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 01:54:03