SQL DATEDIFF возвращает неверный результат - PullRequest
0 голосов
/ 22 апреля 2019

Мой SQL-запрос, как показано ниже,

SELECT  CAST(-1 * DATEDIFF(hour, '21-APR-2019 11:30:00 AM', '22-APR-2019 
2:15:20 PM') % 24 AS VARCHAR) 

Вывод вышеуказанного запроса: -

-3 

Ожидаемый результат: -

-2

1 Ответ

1 голос
/ 22 апреля 2019

Это потому что:

DATEDIFF(hour, '21-APR-2019 11:30:00 AM', '22-APR-2019 
2:15:20 PM')

возвращает 27, а не 26.
Изменить на это:

SELECT  CAST(-1 * (DATEDIFF(minute, '21-APR-2019 11:30:00 AM', '22-APR-2019 
2:15:20 PM') / 60) % 24 AS VARCHAR)
...