带有额外小数的SSIS Float数据

时间:2018-01-17 16:00:57

标签: sql-server csv ssis etl

Visual Studio 2015;资料来源:OLEDB(SQL2012);目的地:FlatFile(csv)

我有一些存储过程,我需要从中提取数据,这些数据是我无法控制的,它具有float数据类型的输出。在SSMS中,数据看起来像3.45985,但在SSIS中,输出csv文件的数据类似于3.45989999999(这些数字已经组成,但你明白了。)

我确实理解float是如何工作的,并且理解float不是一个精确的数据类型 - 但是我无法控制存储过程。我正在努力的是如何解决它。我已经读过你可以在平面文件目的地中将输出设置为字符串,但它似乎不起作用。我也尝试从存储过程中获取输出并将结果放入表变量中,并且已经成功地格式化了我需要的内容。但是一些存储过程已经在临时表中进行了一些插入,当我尝试将结果存储到表变量中时,我收到了一个错误。所以,这个解决方案对我来说真的不起作用。

我的业务用户习惯于遗留应用程序中的这些3.45985。我正在重写所有这些都是通过SSIS完成的,以自动化提取,而不必支持传统的业务线应用程序。

1 个答案:

答案 0 :(得分:2)

您可以使用派生列转换将数字四舍五入并将其转换为Calendar,其表达式如下:

Sync with Google