如何使用SSIS表达式构建器将日期值格式化为yyyy-mm-dd?

Neo*_*Neo 20 ssis

嗨,我动态地采用flatfile源名称,如"source 2011-08-11"我正在创建表达式构建器,用于根据文件名获取最新文件.我喜欢创建一个具有文件夹路径的变量:C\backup \

现在里面的表达式构建器如何添加日期??? 我尝试过

@[User::DirPath]+"source"+ (DT_STR,4,1252)YEAR( DATEADD( "dd", -1, getdate() ))
+"-"+(DT_STR,4,1252)MONTH( DATEADD( "dd",-1, getdate() ))+"-"+(DT_STR,4,1252) 
DAY(DATEADD( "dd", -1, getdate() )) +".CSV"
Run Code Online (Sandbox Code Playgroud)

这是错的,请给我一个给我输出的表达:"source 2011-08-11"

Dee*_*kar 45

正确的表达是

"source " + (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"
Run Code Online (Sandbox Code Playgroud)

  • +1,虽然我希望有另一种方式.对于几乎所有包装需要的东西来说,这种程度的复杂性只是淫秽.SSIS价值每一分钱. (3认同)
  • 谢谢.这是如何做到这一点 - 我认为必须有一个更简单的方法,但显然不是.6个函数来格式化日期 - 非常蹩脚.FU MS. (2认同)