2014-05-20 40 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