sql-server - 将 datetime2 存储在 ssis 变量中
问题描述
我正在使用SQL Server 2012 Enterprise
. 我有一个要求,我必须DATETIME2
在 SSIS 变量中存储具有数据类型的数据。不幸的是,SSIS 变量没有那种数据类型。
如果我将它存储到datetime
数据类型中,我会丢失信息。任何人都可以帮助提供解决方法吗?
PS:我的源系统也是 SQL Server 2012,我正在从具有 datetime2 数据类型的列中读取数据。
解决方案
至少目前,SSIS 有一个“已知”的不足,因为变量值类型DateTime
只有秒的精度;实际上与 a 相同datetime2(0)
。因此,如果您需要存储比一秒更准确的内容,例如如果您正在使用datetime
并且 1/300 秒很重要,或者如果您使用datetime2
的精度为 1 或更高,则 value typeDateTime
将无法为您服务目标。
因此,有几个不同的选项将 的值存储为 aString
或数值。然而,这确实带来了它自己的问题。最重要的是,这些数据类型都不是日期和时间数据类型。
因此,这取决于您的目标是什么。我很可能会使用String
数据类型并确保它具有 ISO 格式 ( 'yyyy-MM-ddThh:mm:ss.nnnnnnn'
)。如果您使用的是 T-SQL 任务之类的东西,您可以将变量照常传递给任务,数据引擎会将文字字符串解释为 a datetime2(7)
(或您使用的任何文字精度)。
推荐阅读
- reactjs - 我需要在组件的多个函数中使用我的变量,但似乎无法访问它
- synchronization - 用于同步流式传输多个预先录制的视频的工具,就好像它们是实时网络摄像机一样
- javascript - 启用chartsJS条形图从y轴开始
- javascript - 如何获取 Azure 的 Auth Token 以编程方式创建 azure 资源
- javascript - *ngFor 无法与引导下拉菜单一起正常工作
- python - 根据条件更改数据框行中的值
- python - 如何保存由 zelle 图形模块制作的动画?
- python - 如何约束和验证 Django m2m 和外键字段
- php - 如何在 CakePHP 的实体虚拟字段中使用 API 生成的值?
- c# - 是否所有版本的 Auto-Fixture 都依赖于 .NET Framework?