2

我正在使用 SSIS 创建一些包。我对数据转换转换组件和从高级编辑器更改列数据类型感到困惑

如果我可以进入高级编辑器并更改输出的数据类型,为什么我需要输入数据转换转换?

这只是偏好还是使用这两种方法有区别?

4

1 回答 1

3

在展示这两种方法之间的区别之前,我将尝试概述数据转换类型。

隐式与显式转换

有两种不同类型的数据类型转换:

  • 隐式转换:用户看不到隐式转换。SQL Server 自动将数据从一种数据类型转换为另一种数据类型。例如,当将 smallint 与 int 进行比较时,smallint 会在比较继续之前隐式转换为 int。
  • 显式转换:显式转换使用 CAST 或 CONVERT 函数或其他工具。

从下面的 Microsoft Grid 中,您可以看到每种方法可以转换哪些数据类型:

在此处输入图像描述

如果您需要了解与 SQL Server 数据库引擎的数据类型相关的 SSIS 数据类型(在上面的 Grid 中提到),那么您可以参考以下文档:


高级编辑器与数据转换转换

  • 高级编辑器更改数据类型时,您正在执行隐式数据类型转换,因为源/目标组件尝试自动转换列的数据类型。
  • 使用数据转换转换您正在执行显式转换。由于上面的文章中提到:

使用数据转换转换将列的数据类型从一种数据类型转换为不同的数据类型

更多细节可以在以下位置找到:


参考

于 2019-03-26T18:42:56.717 回答