在SQL Server 2008中将两个单独的整数转换为DateTime

时间:2012-07-27 12:25:13

标签: sql datetime int

我的问题是一个表,它将日期和时间存储在两个单独的列中作为整数。我知道sql server是如何在内部存储日期的 - 第一个4字节int表示1900 - 01 - 01之后的日期,第二个4字节int表示午夜之后的日期,但是我的值与此不对应。

直接示例 - 日期:77262,时间:3767327。

时间值转换为datetime(二进制(4)转换后) - 1900-01-01 03:29:17.757但是日期甚至没有接近它应该是的,我确定它必须在某个地方在2012年7月。我可能遗漏了一些基本的东西,但我真的找不到任何解决方案。

1 个答案:

答案 0 :(得分:0)

无法将整数值直接转换为日期。 您必须转换为日期时间,例如 - >

 select cast(41535 as datetime)

然后到日期类型 - >

select cast(cast(41535 as datetime) as date)