代码之家  ›  专栏  ›  技术社区  ›  Prabhat G

在ssis变量中存储datetime2

  •  0
  • Prabhat G  · 技术社区  · 7 年前

    我正在使用 SQL Server 2012 Enterprise . 我有一个需要存储数据的地方 DATETIME2

    如果我把它储存在 datetime 数据类型,我正在丢失信息。有人能帮忙解决问题吗?

    PS:我的源系统也是SQL Server 2012,我正在使用datetime2数据类型从列中读取数据。

    1 回复  |  直到 7 年前
        1
  •  2
  •   Thom A    7 年前

    SSI(至少目前)在变量值类型方面存在“已知”不足, DateTime 只有第二个精度;实际上,与 datetime2(0) . 如果您因此需要存储比一秒钟更精确的内容,例如您正在使用 datetime 1/300秒是很重要的,如果你正在使用 datetime2 如果精度为1或更高,则值类型 日期时间 ,将无法实现您的目标。

    因此,有两个不同的选项将的值存储为 String 或数值。然而,这确实带来了自身的问题;最重要的是,这两种数据类型都不是日期和时间数据类型。

    因此,这取决于你的目标是什么。我很可能会使用 一串 数据类型,并确保其具有ISO格式( 'yyyy-MM-ddThh:mm:ss.nnnnnnn' datetime2(7) (或以您使用的文字精度为准)。