Как преобразовать MS SQL Date или DateTime в OADate? - PullRequest
0 голосов
/ 05 августа 2020

Я знаю, что мы можем преобразовать OADateTime (числовой формат иногда представляет нам Excel вместо datetime) в действительный DateTime, как показано ниже -

SELECT CAST(43982 AS datetime) -2

, что приводит к 2020- 05-31 00: 00: 00.000.

Но как нам преобразовать DateTime в OADateTime в MS SQL?

1 Ответ

1 голос
/ 06 августа 2020

Самый простой способ - вычесть эпоху 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.

...