SSIS ROUND 函数

SSIS ROUND 函数是一个数学函数,它返回最接近或最接近指定数字或数值表达式的整数值。本文将介绍如何使用 ROUND 函数,并提供一个示例,返回最接近或四舍五入的整数的语法如下。

ROUND(<<numeric_expression>>, <<length>>)

length 参数只接受整数。它决定结果应保留多少位小数。例如,0 表示将值四舍五入到没有小数的整数。为了演示 ROUND 函数,我们使用下面的 Product 表,该表有 14 条记录。

Source Table

SSIS ROUND 函数

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

Data Flow to add Derived Column

接下来,双击它以打开派生列转换编辑器。将 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 )
SSIS Round Function Expression

类似地,下面的表达式将 Grade 列四舍五入到无小数和两位小数精度。请参考 SSIS 中的派生列转换、UNION ALL 转换、内置函数和 SQL Server 文章。

ROUND( [Grade], 0 )
ROUND( [Grade], 2 )

单击“确定”关闭编辑器窗口。

拖放 UNION ALL 转换并将派生列连接到它。接下来,右键单击连接节点并选择启用数据查看器。请运行 SSIS ROUND 函数包以查看 Sales 数量和 Grade 列的四舍五入值。

SSIS Round Function package