我的应用程序存储日期作为 OLE 自动化与DateTime.ToOADate()
命令。
我需要创建一个 SQL 视图来显示存储的日期。如何快速将双精度数转换为日期?
Does
SELECT CAST(CASE WHEN OLEFLOAT > 0 THEN
OLEFLOAT-2.0
ELSE
2*CAST(OLEFLOAT AS INT) - 2.0 + ABS(OLEFLOAT) END as datetime)
工作?从here http://msdn.microsoft.com/en-us/library/system.datetime.tooadate.aspx
实施 OLE 自动化日期
作为一个浮点数,其
积分分量是
午夜之前或之后的天数,30
1899 年 12 月,其分数
组件表示该时间
天除以 24。例如,
1899 年 12 月 31 日午夜
用1.0表示; 1 月 1 日上午 6 点
1900年用2.25表示;午夜,
1899 年 12 月 29 日代表为
-1.0; 1899 年 12 月 29 日上午 6 点用 -1.25 表示。
这听起来很像 SQL Server 在将日期转换为浮点数时使用的相同系统,除了偏移量需要调整 2 和“负”日期。 SQL Server 将向后减去。因此 -1.25 是 18:00,而对于 OLE 则意味着 06:00。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)