我已经对此进行了相当多的搜索,但未能找到可靠的解决方案。我有一个用例,例如我想在文件名中包含日期,假设我使用以下公式:
"EmployeeCount_"+(DT_STR,4,1252)DATEPART( "yyyy" , getdate() )+ RIGHT("0" + (DT_STR,4,1252)DATEPART( "mm" , getdate() ), 2) + RIGHT("0" + (DT_STR,4,1252)DATEPART( "dd" , getdate() ), 2) +".csv"
这可以很好地作为变量,但是如果我想将此函数作为参数从SSMS传递呢?有没有办法将参数作为表达式进行求值?我试图将参数传递给变量,以达到所需的效果。
我是否在这里遗漏了一些东西,或者我应该将其硬编码到变量中/在其他地方计算并将其从表中拉入SSIS?
答案 0 :(得分:0)
如果要从数据库函数中检索值并存储在变量中,可以使用“执行SQL任务”。
您可以将变量与其他变量中的表达式以及脚本组合在一起。您执行计算的地方是您的选择。
答案 1 :(得分:0)
p_Date
类型的DateTime
和Filename
类型的String
在属性选项卡中为变量EvaluateAsExpressions
设置Filename
= True并使用以下表达式
"EmployeeCount_"+(DT_STR,4,1252)DATEPART( "yyyy" , @[User::p_Date] )+ RIGHT("0" + (DT_STR,4,1252)DATEPART( "mm" , @[User::p_Date] ), 2) + RIGHT("0" + (DT_STR,4,1252)DATEPART( "dd" , @[User::p_Date] ), 2) +".csv"