考虑以下查询(在MSSQL 2008中):
SELECT dateModified FROM SomeTable;
这将以javascript格式返回浮点数(自1970年以来的毫秒数):
dateModified
============
1301598290687
1071003581343
1311951478593
如何在选择中将其转换为datetime2?
最佳答案
使用@Mikeal Eriksson's answer here中的公式。
我将float转换为bigint,然后创建datetime:
select
DATEADD(MILLISECOND,
cast(dateModified as bigint) % 1000,
DATEADD(SECOND, cast(dateModified as bigint) / 1000, '19700101'))
from sometable
见SQL Fiddle with Demo