Я написал базовый запрос для отображения всех проектов, сроков выполнения и статуса завершения, но я хочу расширить свой запрос, чтобы отобразить дни до завершения, которые должны отображать оставшиеся дни до выполнения для каждого незавершенного проекта. Как я могу использовать функцию DATEDIFF
для достижения желаемого результата?
Могу ли я использовать
=IIF(DATEDIFF(duedate.Day, Fields!Created.Value, Today) < 30, 1, 0)
Выход:
id name duedate today
---------------------------------------------------------------
1 Alpha 2040-01-01 2018-07-01T01:49:43.943Z Incomplete
2 Bravo 2030-03-01 2018-07-01T01:49:43.943Z Incomplete
3 Charlie 2017-02-01 2018-07-01T01:49:43.943Z Complete
4 Delta 2017-04-01 2018-07-01T01:49:43.943Z Complete
Мой текущий запрос:
SELECT
id, name, duedate, GETDATE() AS today,
CASE
WHEN duedate <= CURRENT_TIMESTAMP THEN 'Complete'
WHEN duedate >= CURRENT_TIMESTAMP THEN 'Incomplete'
END
FROM
Project
ORDER BY
Project.name ASC;
Желаемый результат:
id name duedate today Status daystocomp
--------------------------------------------------------------------------
1 Alpha 2040-01-01 2018-07-01T01:49:43.943Z Incomplete 8030 or 22y1m1d
2 Bravo 2030-03-01 2018-07-01T01:49:43.943Z Incomplete 4380 or 12y1m1d
3 Charlie 2017-02-01 2018-07-01T01:49:43.943Z Complete 0
4 Delta 2017-04-01 2018-07-01T01:49:43.943Z Complete 0