Sql server 2005 SSIS优势时间戳到SQL日期时间
我刚开始使用SSIS 2008,目前正在将数据从旧Advantage数据库迁移到SQL Server 2005。我使用带有源和目标的数据流对象设置SSIS包。复制大多数列效果很好,但当我尝试将Advantage Timestamp列复制到DateTime字段时,会出现许多错误。我相信它们都是溢出错误,这在Advantage如何存储时间戳信息方面是可以理解的。我的问题是,在SQLServer2005中将此列转换为正确的DATETIME字段的最佳方式是什么 稍微思考一下,我觉得我可以将Advantage TimeStamp列复制到varchar列中,然后运行一个sql脚本来完成转换。我想知道是否有一种更优雅的方法,或者这类问题的正常解决方案是什么Sql server 2005 SSIS优势时间戳到SQL日期时间,sql-server-2005,ssis,data-migration,advantage-database-server,Sql Server 2005,Ssis,Data Migration,Advantage Database Server,我刚开始使用SSIS 2008,目前正在将数据从旧Advantage数据库迁移到SQL Server 2005。我使用带有源和目标的数据流对象设置SSIS包。复制大多数列效果很好,但当我尝试将Advantage Timestamp列复制到DateTime字段时,会出现许多错误。我相信它们都是溢出错误,这在Advantage如何存储时间戳信息方面是可以理解的。我的问题是,在SQLServer2005中将此列转换为正确的DATETIME字段的最佳方式是什么 稍微思考一下,我觉得我可以将Advanta
谢谢你的帮助和建议 在数据流中,您可以使用派生列转换,您可以尝试将Advantage Timestamp强制转换为SQL Server DATETIME(DT_DBTIMESTAMP)数据类型(请注意,这不是SQL Server Timestamp数据类型)。在派生列转换中,添加新列并输入以下表达式以转换数据类型
(DT_DBTIMESTAMP) [MyDate]
如果失败,那么可以对字符串(DT_STR,)执行类型转换,然后使用字符串函数操作字符串,然后在单个表达式中对DT_DBTIMESTAMP执行类型转换
(DT_DBTIMESTAMP) (...string functions...(DT_STR, 20, 1252)[MyDate])
Timestamp
是一种数据类型,与日期或时间数据无关