Sql server 从高级编辑器更改数据类型vs数据转换

Sql server 从高级编辑器更改数据类型vs数据转换,sql-server,ssis,etl,sql-server-data-tools,ssis-data-types,Sql Server,Ssis,Etl,Sql Server Data Tools,Ssis Data Types,我正在使用SSI创建一些包。我对数据转换组件和从高级编辑器更改列数据类型感到困惑 如果我可以进入高级编辑器并更改输出的数据类型,为什么我需要输入数据转换 这仅仅取决于偏好还是使用两种方法之间存在差异?在说明两种方法之间的差异之前,我将尝试概述数据转换类型 隐式与显式转换 有两种不同类型的数据类型转换: 隐式转换:隐式转换对用户不可见。SQL Server会自动将数据从一种数据类型转换为另一种数据类型。例如,将smallint与int进行比较时,smallint会在比较进行之前隐式转换为int

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

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

这仅仅取决于偏好还是使用两种方法之间存在差异?

在说明两种方法之间的差异之前,我将尝试概述数据转换类型

隐式与显式转换 有两种不同类型的数据类型转换:

  • 隐式转换:隐式转换对用户不可见。SQL Server会自动将数据从一种数据类型转换为另一种数据类型。例如,将smallint与int进行比较时,smallint会在比较进行之前隐式转换为int
  • 显式转换:显式转换使用强制转换或转换函数或其他工具
从以下Microsoft网格中,您可以看到每种方法都可以转换哪些数据类型:

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


高级编辑器与数据转换
  • 高级编辑器更改数据类型时正在执行隐式数据类型转换,因为源/目标组件尝试自动转换列的数据类型
  • 使用数据转换执行的是显式转换。由于上述条款中提到:
使用数据转换转换将列的数据类型从一种数据类型转换为另一种数据类型

有关更多详情,请访问:


工具书类