【问题标题】:SSIS SQL Command datetime parameter with timezone offset带有时区偏移量的 SSIS SQL 命令日期时间参数
【发布时间】:2011-02-16 12:16:14
【问题描述】:

我正在设计一个 SSIS 包来将数据从 SQL DB 转换到另一个 SQL DB。我正在使用 OLE DB 源并将查询编写为 SQL 命令。我正在传递一个 datetime 参数,该参数将通过 XML 配置文件中的 SSIS 变量读取。在配置文件中,我将日期设置为“2/16/2011 2:00:00 AM”。此参数在 SQL 命令的查询中用于获取在给定日期之后插入/更新的数据。当我运行 SSIS 包时,我没有得到正确的数据。为了进一步挖掘这一点,我运行 SQL Profiler 来检查正在发送的参数的值,并注意到每当调用 SQL 命令查询时,它都会为参数添加偏移量 (-08:00) 后缀。 SSIS运行时有什么办法不设置偏移量?

【问题讨论】:

  • SSIS 变量和目标列的数据类型是什么?

标签: ssis timezone offset


【解决方案1】:

当我设置 OLEDB 源并使用它来查询表中的日期时间字段时,它会返回正确的值。

例如:选择 FULLDATETIME,其中 FULLDATETIME = '12/5/2010 02:00:00 AM'

我得到以下结果:

2010-12-05 02:00:00

听起来您可能正在查询 datetimeoffset 字段。您需要使用 dateadd() 调整文字值,例如 select dateadd(mi, datediff(MI, getutcdate(),GETDATE()), '2/16/2011 2:00:00 AM')

【讨论】:

    猜你喜欢
    • 2017-03-31
    • 2018-03-15
    • 1970-01-01
    • 2021-12-19
    • 1970-01-01
    • 2014-05-24
    • 1970-01-01
    • 2020-10-24
    • 1970-01-01
    相关资源
    最近更新 更多