2016-06-29 116 views
0

我有一個從我的數據庫以信息,並在以下格式一堆日期.CSV文件:6/1/2016 0:00SSIS轉換CSV到文本文件的更改日期格式

我不知道這事,但對於平面文件目標輸入,外部列有它作爲「[DT_DBDATE]」數據類型,而輸入欄顯示爲「DT_DBTIMESTAMP」

的問題是,當我添加一個文件系統任務轉換這個文件轉換爲.TXT文件,它將日期格式更改爲:

2016-06-01 00:00:00 

如何防止發生這種情況並保持CSV格式的原始格式?

+0

除非您的最終目的地是美國人,否則2016-06-01 00:00:00格式是更可取的,因爲這不是歧義 – Mike

+0

在這種情況下,這不是最好的。 – xyzcode

+1

只是爲了澄清一些事情:1.使用日期數據類型存儲在數據庫中的日期沒有格式。 2.確保你在文本編輯器中查看你的TXT文件,而不是excel。在這兩種情況下,它都是強制使用格式的「客戶端工具」。請注意,您當前的輸出格式非常接近ISO格式,這與我們所能獲得的標準日期格式相近。如果每個人都堅持ISO格式,我們可能會看到開發效率提高50%,因爲所有這些令人沮喪的日期問題都會消失。 TXT文件是供人類或計算機使用的嗎? –

回答

0

添加SSIS派生列,並使用下面的表達式

RIGHT("0" + (DT_STR,2,1252)DATEPART("mm",COLUMNNAME),2) + "/" + RIGHT("0" + (DT_STR,2,1252)DATEPART("dd",COLUMNNAME),2) + "/" + (DT_STR,4,1252)DATEPART("yy",COLUMNNAME) 

IMP:替換列名COLUMNNAME中輸入文件

現在你可以映射在此列中的日期列輸出文件。