【问题标题】:How to convert MS SQL Date or DateTime to OADate?如何将 MS SQL 日期或日期时间转换为 OADate?
【发布时间】:2020-08-05 15:09:43
【问题描述】:

我知道我们可以将 OADateTime(有时 excel 向我们展示的数字格式而不是日期时间)转换为如下所示的有效 DateTime -

SELECT CAST(43982 AS datetime) -2

导致 2020-05-31 00:00:00.000。

但是我们如何在 MS SQL 中将 DateTime 转换为 OADateTime?

【问题讨论】:

    标签: sql-server excel database sql-server-2008 sql-server-2012


    【解决方案1】:

    最简单的方法是从给定日期中减去 OADate 纪元,例如:

    declare @OADateEpoch date = convert(date, '1899-12-30', 126);
    declare @yourDateTime datetime = convert(date, '2020-05-31T00:00:00.000', 126);
    select datediff(dd, @OADateEpoch, @yourDateTime);
    

    返回43982

    【讨论】:

    • 但是我们如何将 DateTime 转换为 OADateTime?例如“2020-12-04T15:15:00.000”?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-14
    • 2010-11-03
    相关资源
    最近更新 更多