我有一個平面文件,我正在使用SSIS包導入到SQL Server 2008中。將字符串轉換爲SSIS包中的十進制值
當前面的列值爲負時,文件包含一個帶數字的字段,後面跟着一個帶負號的列。
例如:
Price Sign
----- -----
9212.00
29.01 -
268.00 -
453.02
我想這個值加載到一個表上的小數列。
爲了做到這一點,我在我的數據流任務中創建了派生列。派生列的表達式是[Sign] + [Price]
。我有(使用高級編輯器)將派生列定義爲類型十進制[DT_DECIMAL]
。
然後,我只是將數據(以及派生列)加載到我的表中。
這聽起來像是處理這種情況的好方法嗎?我應該考慮另一種方法嗎?使用這種方法的任何'陷阱'?
謝謝。
感謝您的信息。 你能解釋爲什麼我上面的方法不起作用嗎?根據我所看到的,它似乎確實有效。 – user1949225
例如(對不起,不能發佈圖像):
Derived Column Name Derived Column Expression Data Type ------------------- -------------- ---------- --------- Final_Price [sign]+[price] decimal[DT_DECI
因此:Price = 232.43 Sign = - 變成-232.43,當我加載到我的數據庫時,這個值進入定義爲十進制(10,2)的表格中的列爲-232.43。只是想確保我理解第一種方法的好處。再次感謝。 – user1949225我看到了,但仍然不知道爲什麼這樣工作,因爲'Sign'數據類型必須是字符串,那麼您希望總和'Sign'字符串和'Price'小數,這不應該起作用。 http://sqlfiddle.com/#!3/d41d8/7527什麼數據類型是派生的'Sign'和'Price'列。 – Justin