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

问题描述:

我有一些负的整数值,它们是从默认的1-1-1900日期的偏移量。我必须从这些日期时间值。我怎样才能做到这一点。在SQL Server中使用强制转换或转换将负的int值转换为datetime

例子:

如果我做的:

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 

-53690应该是1753-01-01。 -53691会将您带出datetime data type(不支持1753年之前的日期)的范围。铸造-53690的工作方式与其他示例一样。