Я использую DATEDIFF
, однако получил неожиданные результаты.
Я попытался вычислить столбец Reminder
по minus 5 days
из рассчитанного столбца deadline
.
Я получил некоторые результаты, но они не имеют смысла.
Ниже мой запрос:
SELECT n.LastReceiptDate,
DATEADD(dd, 10, n.LastReceiptDate) AS deadline,
DATEDIFF(dd, 5, DATEADD(dd, 10, n.LastReceiptDate)) AS Reminder
FROM Table n;
@DaleBurrell Спасибо, как я могу получить дату за 5 дней до столбца "крайний срок"?
@DaleBurrell да, я знаю, что могу это сделать, мне просто интересно, смогу ли я сделать это с помощью DATEDIFF
Вы не можете сделать это с помощью DateDiff, потому что DateDiff (разница дат) вычисляет разницу в заданных интервалах между двумя датами. Он не возвращает дату. Вы хотите DateAdd. Используйте правильную функцию. Если кто-то сказал вам, что вы должны сделать это с помощью DateDiff, правильный ответ - Нет, потому что вам нужно использовать DateAdd вместо. И, пожалуйста, редактировать название вашего вопроса к чему-нибудь значимому. Все, что вы сделали, это повторили информацию тега, которая является избыточной, и удаление SQL Server и РАЗНДАТ из этого заголовка оставляет в.
SELECT n.LastReceiptDate,
DATEADD(dd, 10, n.LastReceiptDate) AS deadline,
DATEADD(dd, -5, DATEADD(dd, 10, n.LastReceiptDate)) AS Reminder
FROM Table n;
DateDiff принимает дату в качестве второго параметра, вы указали
5
, что-то вроде5 Jan 1900
. Всегда стоит проверять документацию docs.microsoft.com/en-us/sql/t-sql/functions/…