2016-04-08 77 views
0

我正在從SSIS中的數據流任務調用存儲過程,其中我選擇了日期時間字段的HOUR日期部分。 (從存儲過程下面的代碼)從SSIS導出中不顯示正確格式的CSV

SELECT 
DATEPART (HOUR, R.received_date) AS [Hour] , 
CONVERT (VARCHAR(10), R.received_date, 101) AS [Date] , 
COUNT (R.id) AS [NumberofFilings] 

在我的數據流任務,我有我調用存儲過程的OLE DB源任務:

stored proc

當我預覽與OLE DB源任務中的數據,數據的模樣我希望 - 用小時列顯示0之間& 24的整數:source preview

我將結果導出到CSV文件並且小時變成日期時間字段,其值變成'1/11/1900 0:00',這不是我所期望的。

在我的平面文件目標連接管理器中,我將Hour屬性設置爲四字節有符號整數,但小時不會顯示爲整數,而會顯示爲日期時間。

Advanced Properties

FF Source Preview

我試過其它數據類型爲小時列,但沒有將它轉換爲一個整數/字符。任何建議?

+0

你如何查看csv文件以確定Hour字段是日期時間?它不會在Excel中,有沒有可能? –

+0

是的,就是這樣。但是如果我在EmEditor中打開它,我仍然可以看到日期時間字段,而不僅僅是小時。 – MISNole

+0

如果您在記事本中打開它,該怎麼辦?沒有首先在Excel中打開它,這可能會節省一些Excel驅動的更改。 –

回答

0

如果您在Excel中打開.csv文件,我懷疑Excel正在查看名爲「Hour」的列,並且在想「必須是日期時間字段,我只是幫助我的用戶出來, 「。

嘗試在記事本中打開.csv文件,看看實際內容是什麼樣子。

編輯:

我無法重現您的結果。當我跟隨你的腳步,我得到一個CSV文件看起來像這樣在記事本中:

"Col1","Col2" 
"0","04/05/2016" 
"0","04/02/2016" 
"0","04/01/2016" 
... 

你必須做的事情,你是不是包括你對問題的描述。

或者您的包可能已損壞。你可以嘗試從頭開始重新構建它以消除這種可能性。

但我已經測試並證明你正在努力做的事情應該能夠工作。

+0

我試過了,看起來一樣 - 值存儲爲日期時間。謝謝, – MISNole

+0

在您的DataSource的高級屬性中,輸出列「​​Hour」(或當前命名的任何內容)的數據類型是什麼? –

+0

它目前設置爲四字節有符號整數,但我也嘗試過其他類型:數字,Unicode,文本等。 – MISNole