티스토리 뷰
다른 케이스를 첫 번째 케이스로 추가하지 않는 이유
"Case When DateDiff(week, '" + CSIActualDate +
"', '" + CSILOSDate + "') > 0 Then 'Outside'"
+ --- then the rest of the cases ...
-------------------먼저 매개 변수화 된 쿼리를 사용하는 것이 좋습니다.
또한이 줄은 :
WHEN CSIActualDate <= DATEADD(DAY, 6-DATEPART(WEEKDAY, CSIActualDate), CSIActualDate)
THEN 'Inside'
실제로 :
WHEN CSIActualDate <= DATEADD(DAY, 6-DATEPART(WEEKDAY, CSILOSDate), CSILOSDate)
THEN 'Inside'
-------------------if (CSILOSDate.Length > 0)
{
sql +=
CSILOSDate + " as [CSITarget], " +
CSIActualDate + " as [CSIAcheived], " +
"CASE WHEN DATEDIFF(WEEK, " + CSILOSDate + ", " + CSIActualDate + ") > 0 Then 'Outside'" +
"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' " +
"END AS [CSIStatus] ";
출처
https://stackoverflow.com/questions/1901594
댓글