2013-10-10 3 views
-1

DATEDIFF(datepart,FromDate , Todate)Дата Разница в MS SQL

SELECT DATEDIFF(dayofyear,'2008-08-07','2008-08-09') AS DiffDate 

Результат = 2 дня

который дата SQL Sever является исключение при вычислении разности FromDate или сегодня? Почему это не должно быть 3 дня для 7,8 и 9?

ответ

1

Для простоты, для себя, вы могли бы вспомнить, что DATEDIFF рассматривает диапазон, включая «от» даты и исключая «до» даты. Итак, в вашем случае учитываются только 7-й и 8-й.

Formally, однако, логика описана быть таким:

Возвращает количество (подписано целое число) указанного DATEPART границы скрещенных между указанным StartDate и EndDate.

Сколько DAYOFYEAR границы между ними 2008-08-07 и 2008-08-09?

  • 2008-08-07 ->2008-08-08
  • 2008-08-08 ->2008-08-09

Два, как это происходит. Отсюда и результат.

1

Потому что 9-72 в большинстве десятичных систем математики?

+0

@Ilya Это ответ. DateDiff дает ответ 2, потому что 2 - ответ. – podiluska

+0

@Ilya Он может быть недействительным. – podiluska

0

Вы находитесь на 7th. Сколько дней вам нужно ждать, чтобы быть на 9th?

2 
Смежные вопросы