如何在ssis包的变量表达式中获取年份的最后两个数字?

时间:2014-02-11 14:10:15

标签: sql-server tsql ssis sql-server-2012 dataflowtask

我使用变量表达式动态生成ssis转换的日期。 我的下面的表达式生成输出,如:

02102014.csv
Expression :
+RIGHT("0" + (DT_WSTR, 2)  MONTH(dateadd("d", -1, getdate())), 2) 
+RIGHT("0" + (DT_WSTR, 2) DAY(dateadd("d", -1, getdate())), 2)
+(DT_WSTR, 4)  YEAR(dateadd("d", -1, getdate()))+ ".csv"

如何获得021014.csv之类的值。在年份字符串中,它应该只获取最后两个值。任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:1)

表达:

RIGHT("0" + (DT_WSTR, 2) MONTH(dateadd("d", -1, getdate())), 2) 
+ RIGHT("0" + (DT_WSTR, 2) DAY(dateadd("d", -1, getdate())), 2)
+ RIGHT((DT_WSTR, 4) YEAR(dateadd("d", -1, getdate())), 2)+ ".csv"

结果:

021014.csv

答案 1 :(得分:0)

RIGHT("0" + (DT_WSTR, 2)  MONTH(dateadd("d", -1, getdate())), 2) 
+RIGHT("0" + (DT_WSTR, 2) DAY(dateadd("d", -3, getdate())), 2)
+RIGHT("1"+(DT_WSTR, 4)  YEAR(dateadd("d", -1, getdate())),2)+ ".csv"