我有一个输入文件,必须每天加载到我的表中。我以以下格式样本sample_20120518_160754.CSV接收文件。时间戳可能会有所不同,它不是当前时间戳如何在ssis中获取具有时间戳的文件名
我已经使用表达式来获取文件名以及日期,但是如何获取文件的时间戳。
这是我用来获取文件日期的表达式。
"sample_" + RIGHT("0" + (DT_STR,4,1252)DATEPART("yyyy", (DT_DATE)@[User::p_varAsOfDate]), 4) + RIGHT("0" + (DT_STR, 2, 1252)DATEPART("dd", (DT_DATE)@[User::p_varAsOfDate]), 2) + (DT_STR, 2, 1252)DATEPART("mm", (DT_DATE)@[User::p_varAsOfDate]) +"_" +".CSV"
这种表达yeilds导致
sample_2012145_.CSV现在我想要的文件也时间戳。
嗨拉吉夫,我试图用这种表达,但这种表达yeilds当前时间戳。我可以在6号早上收回文件,我在下午2号加载文件。所以在这种情况下它不起作用。 – user1348424
你究竟想达到什么目的?你想从CSV文件中提取数据吗?为什么你构建表达式来提取日期和时间? sample_2012145_.CSV看起来不错,“2012145”没有任何意义。 – rvphx
我每天都会收到文件,而我的文件名是sample_yyyyddmm_hhmmss.csv格式。因此,我将Asofdate作为输入varibale传递。这是我用来获取文件名“sample_”+ RIGHT(“0”+(DT_STR,4,1252)DATEPART(“yyyy”,(DT_DATE)@ [User :: (DT_STR,2,1252)DATEPART(“mm”,(DT_DATE)@ [User :: p_varAsOfDate]),2)+(DT_STR,2,1252)DATEPART((p_varAsOfDate)]),4)+ RIGHT “dd”,(DT_DATE)@ [User :: p_varAsOfDate])+“.CSV” – user1348424