使用强制转换或转换将负int值转换为SQL Server中的datetime

时间:2010-10-26 07:25:17

标签: sql-server sql-server-2005 casting

我有一些负整数值,它们是默认1-1-1900日期的偏移量。我必须从这些中获取日期时间值。我怎么能这样做。

示例:

如果我这样做:

SELECT convert(datetime, 53691) as Calc

OR

SELECT cast(53691 as datetime)

我得到:2047-01-01 00:00:00.000

我需要的是,如果我这样做:

SELECT convert(datetime, -53691) as Calc

OR

SELECT cast(-53691 as datetime)

我应该得到类似的东西:

1753-01-01 00:00:00.000

1 个答案:

答案 0 :(得分:2)

-53690将是1753-01-01。 -53691将您带出datetime data type的范围(不支持1753年之前的日期)。转换-53690可以像其他示例一样工作。