SSIS 2008 - 获取变量中的当前日期
SSIS 2008 - Get Current Date in Variables
在 SSIS 2012
中,我可以使用带有变量表达式的 GETDATE()
函数获取当前日期。
虽然,SSIS 2008
表达式字段不存在。
问题:如何在 SSIS 2008 中使用变量动态获取当前日期?
帮助我了解 GETDATE() 为什么不存在于 2008 年的 SSIS 表达式语言中。
也就是说,我发现使用系统变量 @[System::StartTime]
比 GET_DATE()
更可取。 StartTime 为包的持续时间提供一致的时间点。只要包开始执行,它就会始终存在。将其与现在的 GETDATE() 值进行对比。现在。现在。每次检查该值时,它都会发生变化。当您构建具有秒精度的文件名时,这可能会给您带来麻烦。或者,如果您想将插入的所有数据分组到一个 运行 中。您将在这些值中发生漂移,因此您必须使用范围查询来识别 运行 X 中的所有数据。或者您可以使用 StartTime,它在包开始为 运行 时更新,但在持续时间。
试试这个:
RIGHT( "00"+ (DT_WSTR, 2) DAY(GETDATE()),2)+RIGHT( "00"+ (DT_WSTR, 2)
MONTH(GETDATE()),2)+(DT_WSTR, 4) YEAR(GETDATE())
在 SSIS 2012
中,我可以使用带有变量表达式的 GETDATE()
函数获取当前日期。
虽然,SSIS 2008
表达式字段不存在。
问题:如何在 SSIS 2008 中使用变量动态获取当前日期?
帮助我了解 GETDATE() 为什么不存在于 2008 年的 SSIS 表达式语言中。
也就是说,我发现使用系统变量 @[System::StartTime]
比 GET_DATE()
更可取。 StartTime 为包的持续时间提供一致的时间点。只要包开始执行,它就会始终存在。将其与现在的 GETDATE() 值进行对比。现在。现在。每次检查该值时,它都会发生变化。当您构建具有秒精度的文件名时,这可能会给您带来麻烦。或者,如果您想将插入的所有数据分组到一个 运行 中。您将在这些值中发生漂移,因此您必须使用范围查询来识别 运行 X 中的所有数据。或者您可以使用 StartTime,它在包开始为 运行 时更新,但在持续时间。
试试这个:
RIGHT( "00"+ (DT_WSTR, 2) DAY(GETDATE()),2)+RIGHT( "00"+ (DT_WSTR, 2)
MONTH(GETDATE()),2)+(DT_WSTR, 4) YEAR(GETDATE())