首页 >数据库 >mysql教程 >SSIS 如何隐式转换日期时间格式,DT_DBTimestamp 是否支持'1-Jan”?

SSIS 如何隐式转换日期时间格式,DT_DBTimestamp 是否支持'1-Jan”?

Linda Hamilton
Linda Hamilton原创
2024-12-17 07:06:24845浏览

How Does SSIS Implicitly Convert Datetime Formats, and Does DT_DBTimestamp Support '1-Jan'?

SSIS 中日期时间格式的隐式转换

问题:是否有任何资源可以提供不同类型支持的日期时间格式的完整列表SSIS 数据类型? DT_DBTimestamp 数据类型是否能够识别“1-Jan”格式?

响应:

一般信息

下表列出了各种 SSIS 数据类型在转换时支持的默认日期时间格式字符串:

Data Type Default Format
DT_DBDATE yyyy-mm-dd
DT_FILETIME yyyy-mm-dd hh:mm:ss:fff
DT_DBTIME hh:mm:ss
DT_DBTIME2 hh:mm:ss[.fffffff]
DT_DBTIMESTAMP yyyy-mm-dd hh:mm:ss[.fff]
DT_DBTIMESTAMP2 yyyy-mm-dd hh:mm:ss[.fffffff]
DT_DBTIMESTAMPOFFSET yyyy-mm-dd hh:mm:ss[.fffffff] [{ -} hh:mm]

具体用例:

在提供的示例中,字符串 '1-Jan' 无法使用 Convert( ) SQL Server 中的函数。但是,当尝试将此值作为 DT_DBTimestamp 导入到 SSIS 时,它会被隐式识别为 1/1/2017。

实验:

要进一步研究此行为,进行了几个实验:

  • SSIS 隐式日期时间转换: 使用脚本组件循环遍历所有区域性信息和可用的日期时间格式,以检查它们是否可以隐式转换为 DT_DBTIMESTAMP。结果被捕获在文本文件中。
  • SQL Server 日期时间隐式转换: SQL 命令用于转换相同的日期时间字符串并检查异常,以指示格式是否可以转换.

研究结果:

实验证实SSIS 中的 DT_DBTimestamp 数据类型具有宽松的转换机制,该机制尝试解释各种日期时间格式,包括默认格式中未明确支持的格式。此行为与 SQL Server 的日期时间转换不一致,后者严格遵守特定支持的格式。

参考:

  • [集成服务数据类型](https://docs.microsoft.com/en-us/sql/integration-services/data-types/data-types-in-integration-services?view=sql-server-ver15)
  • [SSIS 到 SQL Server 数据类型翻译](https://docs.microsoft.com/en-us/sql/integration-services/import-export-data/data-type-mappings-ssis-to-sql-server-import-export-wizard?view =sql-server-ver15)

以上是SSIS 如何隐式转换日期时间格式,DT_DBTimestamp 是否支持'1-Jan”?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn