SSIS ROUND 函数是一个数学函数,它返回最接近或最接近指定数字或数值表达式的整数值。本文将介绍如何使用 ROUND 函数,并提供一个示例,返回最接近或四舍五入的整数的语法如下。
ROUND(<<numeric_expression>>, <<length>>)
length 参数只接受整数。它决定结果应保留多少位小数。例如,0 表示将值四舍五入到没有小数的整数。为了演示 ROUND 函数,我们使用下面的 Product 表,该表有 14 条记录。

SSIS ROUND 函数
对于这个四舍五入值示例,请添加一个数据流任务,然后双击它以进入数据流区域。接下来,添加 OLE DB Source 以从上述 SQL 数据库产品表中读取数据。请将 OLE DB Source 连接到派生列转换,因为它有助于编写 ROUND 表达式并创建新列。

接下来,双击它以打开派生列转换编辑器。将 SSIS ROUND 函数拖放到“表达式”下的行单元格中,并将 numeric_expression 替换为 SalesAmount,以返回四舍五入的销售额。您可以手动删除整个 <<numeric_expression>> 表达式,或者拖放 SalesAmount 列会自动替换它。
下面的 ROUND 函数表达式使用 Sales 作为第一个参数,0 到 4 作为长度。0 表示 Sales 四舍五入到最接近的整数(不带小数),4 表示 Sales 四舍五入到最接近的整数(带四位小数)。四舍五入的值将是小数点后的第四位。
ROUND( [SalesAmount], 0 )
ROUND( [SalesAmount], 1 )
ROUND( [SalesAmount], 2 )
ROUND( [SalesAmount], 3 )
ROUND( [SalesAmount], 4 )

类似地,下面的表达式将 Grade 列四舍五入到无小数和两位小数精度。请参考 SSIS 中的派生列转换、UNION ALL 转换、内置函数和 SQL Server 文章。
ROUND( [Grade], 0 )
ROUND( [Grade], 2 )
单击“确定”关闭编辑器窗口。
拖放 UNION ALL 转换并将派生列连接到它。接下来,右键单击连接节点并选择启用数据查看器。请运行 SSIS ROUND 函数包以查看 Sales 数量和 Grade 列的四舍五入值。
