Чем отличается DATEADD (DAY, 1, GETDATE ()) и DATEADD (DAY, 1, DATEDIFF (DAY, 0, GETDATE ())) - PullRequest
0 голосов
/ 11 сентября 2018

Что отличается между

DATEADD(DAY, 1, GETDATE())

и

DATEADD(DAY, 1, DATEDIFF(DAY, 0, GETDATE()))

Может ли кто-нибудь помочь показать пример случая, как их использовать?

Ответы [ 2 ]

0 голосов
/ 11 сентября 2018

В вашей первой версии DateAdd() Добавление даты в текущую дату.

Во второй версии сначала выполните DATEDIFF(DAY, 0, GETDATE()) Это даст вам другую дату и после этого добавит один день в DATEDIFF(DAY, 0, GETDATE()) Результат.

0 голосов
/ 11 сентября 2018

Первая версия включает компонент времени GETDATE().Второго нет.Итак, если текущее время 2018-01-01T05: 43: 26, то возвращается первая версия:

2018-01-02T05:43:26

Вторая удаляет компонент времени, поэтому возвращает:

2018-01-02T00:00:00

Я думаю, что лучшая версия для полуночи, когда начинается следующий день:

dateadd(day, 1, cast(getdate() as date))
...