从高级编辑器更改数据类型与数据转换转换

时间:2019-03-26 16:50:34

标签: sql-server ssis etl sql-server-data-tools ssis-data-types

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

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

这只是偏爱还是两种方法之间有区别?

1 个答案:

答案 0 :(得分:3)

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

隐式与显式转换

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

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

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

enter image description here

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


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

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

使用“数据转换”转换将列的数据类型从一种数据类型投射到另一种数据类型


参考