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

时间:2011-08-03 06:32:07

标签: 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"

哪个错了请给我输出的表达式:  “来源2011-08-11”

2 个答案:

答案 0 :(得分:42)

正确的表达是

"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"

答案 1 :(得分:2)

看起来你创建了一个单独的问题。我用同样的答案回答了你的另一个问题How to change flat file source using foreach loop container in an SSIS package?。无论如何,这里又是。

创建两个字符串数据类型变量,即DirPathFilePath。将值C:\ backup \设置为变量DirPath。不要为变量FilePath设置任何值。

Variables

选择变量FilePath并选择F4以查看属性。将EvaluateAsExpression属性设置为 True ,并将 Expression 属性设置为@[User::DirPath] + "Source" + (DT_STR, 4, 1252) DATEPART("yy" , GETDATE()) + "-" + RIGHT("0" + (DT_STR, 2, 1252) DATEPART("mm" , GETDATE()), 2) + "-" + RIGHT("0" + (DT_STR, 2, 1252) DATEPART("dd" , GETDATE()), 2)

Expression