"超出范围"将datetime2转换为datetime时出错

时间:2013-04-24 16:50:02

标签: sql-server-2008

我有一个表{(1}}),table1,所有StartDate, StartTime, EndTimedatetime2布尔值,用于指定OverMidnight是否不同(+1 )来自EndDate

我需要将这些内容移至另一个包含StartDate列和table2的表格StartDate,两者都需要EndDate类型,并使用{{ 1}}使用datetime获取新StartDateStartTimeStartDateStartDate以获取OverMidnight

无论我尝试过什么,都会给我一个错误:

  

将datetime2数据类型转换为日期时间数据类型   导致了超出范围的价值。

1 个答案:

答案 0 :(得分:6)

DATETIMEDATETIME2具有不同的可接受日期范围。

DATETIME:

  

1753年1月1日至9999年12月31日

DATETIME2:

  

0001-01-01至9999-12-31

我会检查您的原始数据中是否有DATETIME范围内的任何日期,或者您的转换代码是否在DATETIME范围之外创建了错误的日期。