У меня есть похожий вопрос, но я не получил нужного ответа. У меня есть следующий SQL-код, который создается в приложении ac # ... Этот код работает нормально, за исключением случаев, когда диапазон дат больше, чем 1 рабочая неделя Мне нужно отредактировать код так, чтобы когда дата достижения CSIA приходилась на следующую рабочую неделю, она находилась «вне» SLA.
Когда Достигнутая дата находится в пределах той же недели, что и Целевая дата, она «внутри» SLA.
if (CSILOSDate.Length > 0) {
sql += CSILOSDate + " as [CSITarget], " +
CSIActualDate + " as [CSIAcheived], " +
"CASE WHEN " + CSILOSDate + " IS NULL OR " + CSIActualDate +
" IS NULL THEN 'Incomplete' " +
"WHEN " + CSIActualDate + "
<= DATEADD(DAY, 6-DATEPART(WEEKDAY, " +
CSIActualDate + "), " + CSIActualDate + ") " +
"THEN 'Inside' " +
"WHEN " + CSIActualDate + " <= " + CSILOSDate +
" THEN 'Inside' " +
"ELSE 'Outside' " +
"END AS [CSIStatus] ";
}