2014-05-20 161 views
2

我試圖讓百分比在我的數據庫中顯示爲小數。 我有以下設置的百分比列轉換爲十進制:SSIS將百分比轉換爲小數

----------------   ----------------   ------------ 
excel source  ---------> data conversion ----------> db output 
----------------   ----------------   ------------ 

我試圖嚴格轉換輸入到decimal和numeric。 這些都沒有改變我的結果。

在我的數據庫的列中,我只得到0和1。

原諒我的粗畫;我沒有足夠的代表發佈圖片。

+0

也:轉換*輸入*沒有圖像 – Charkins12

+0

你能告訴你如何與樣品的輸入和輸出一起做「數據轉換」爲 – Tanner

+0

,你可以編輯你的問題了幾行更正錯誤。編輯按鈕在標籤下 – Tanner

回答

0

希望這是你在找什麼

Excel工作表像這是源。

enter image description here

我只是測試它在我的system.It工作正常。這就是我所做的。

  1. 創建一個SSIS包只有1個DFT。
  2. 數據流如下。請注意,在Excel工作表中顯示爲40%的值可見爲0.40。所以我添加了兩個派生列。一個轉換本身和其與100

enter image description here

派生列結構乘以下面所示的下一個。

enter image description here

目標表結構是

Create table Destination 
(
id int, 
name varchar(15), 
hike decimal(8,2) 
) 

我得到的結果如預期。

Select * from Destination 

enter image description here

+0

這正是我一直在尋找的!這很好,非常感謝你! – Charkins12

0

有很多方法可以做到這一點。這裏有一個:

1)將你的excel文件保存爲製表符分隔的文本文件。

2)創建SSIS 一個新的平面文件連接a)設置文件名= .txt文件 B)進入高級選項卡,單擊以百分比 C)列將數據類型以匹配目標(例如,數字(10,5)

3)在SSIS工作流中,創建百分比字段的派生列以將百分比轉換爲小數(例如,newfield = oldfield/100)。 確保檢查派生列轉換編輯器中的數據類型沒有更改。

+0

我會完全放棄!謝謝! – Charkins12