【发布时间】:2021-05-31 05:15:40
【问题描述】:
我有一个每天早上运行的 SSIS 包,用于从 FTP 服务器提取前几天的文件。我正在使用下面的代码使用上一个日期创建文件名。除非今天的日期是本月的第一天,否则一切都很好。例如,如果今天(2021 年 3 月 1 日)运行,则返回 name_of_file_20210328.xml.gz,但是昨天的日期是 2021 年 2 月 28 日而不是 3。我如何更新此日期以说明今天的日期是否是月初返回 mm - 1?
"name_of_file_" + (DT_STR,4,1252)(DATEPART("yyyy",GETDATE())) + (LEN((DT_STR,2,1252)(DATEPART("MM",GETDATE()))) == 2 ? (DT_STR,2,1252)(DATEPART("MM",GETDATE())) : "0" + (DT_STR,2,1252)(DATEPART("MM",GETDATE()))) + ( LEN((DT_STR,2,1252)(DATEPART("dd",DATEADD("day",-1, GETDATE())))) == 2 ? (DT_STR,2,1252)(DATEPART("dd", DATEADD("day",-1, GETDATE()))) : "0" + (DT_STR,2,1252)(DATEPART("dd",DATEADD("day",-1, GETDATE())))) + ".xml.gz"
【问题讨论】: