2014-01-24 107 views
0

我有一個管道分隔文件。 我想在sql server表中存儲這個文件的記錄。 我的表的架構已經決定。我想在將數據存儲到表之前更改從文件中檢索的列的數據類型。SSIS中列的數據類型轉換

有一些方法我知道,我們可以做 數據轉換工具,但問題這個組件是如果列是空白,我想將它存儲到數字(18,0)列,那麼它不工作。 任何建議我如何才能完成這項任務?

+0

什麼是個源和目標數據類型列? – praveen

+0

源是具有空值的字符串,並且目的地是數字,並且類似地,源是字符串,因爲空格和目的地是日期時間。 –

+0

它可以更好地派生列組件,因爲您可以用表達式操作輸入 – Jayvee

回答

0

首先使用派生列。並在派生列表達式中檢查輸入值,如果其長度爲零,或內容爲空,則將該值設置爲0(具有小數類型)。否則,您可以像使用所需的數值條件一樣檢索輸入列的值。

LEN([Column 1]) == 0 || ISNULL([Column 1]) ? 0 : (DT_NUMERIC,18,0)[Column 1] 

這要注意的是:如果所有輸入數據已經是空(空白),那麼你只需要做做到以下幾點:

NULL(DT_NUMERIC, 18, 0) 

在這裏,我們走了,你的情況有是無需用於數據轉換組件)

此致 S.ANDOURA

+0

謝謝@Andoura –