Nun*_*ito 9 sql sql-server double datetime
我的应用程序存储日期,因为OLE自动化与DateTime.ToOADate()命令加倍.
现在,我需要创建一个SQL视图,它向我显示存储的日期.如何快速将双倍转换为日期?
谢谢
是否
SELECT CAST(CASE WHEN OLEFLOAT > 0 THEN
OLEFLOAT-2.0
ELSE
2*CAST(OLEFLOAT AS INT) - 2.0 + ABS(OLEFLOAT) END as datetime)
Run Code Online (Sandbox Code Playgroud)
工作?从这里开始
OLE自动化日期被实现为它的整体部件是前或午夜后的天数一个浮点数,1899年12月30日,并且其小数部分表示由24划分.例如,当天的时间,午夜,12月31日1899代表1.0; 1900年1月1日上午6点由2.25表示; 1899年12月29日午夜以-1.0表示; 1899年12月29日上午6点用-1.25表示.
这听起来很像同一系统SQL Server使用,当你施放一个日期作为一个浮动除偏移需要通过2和"负"日期被拨弄.SQL服务器将向后减去.所以-1.25是18:00而OLE则表示06:00.