Может ли кто-нибудь помочь мне? Я не уверен, почему этот код не выполняется:
'0' || CASE
WHEN (EAmain.ActivityStopMin - EAmain.ActivityStartMin) < 0 THEN (DATEDIFF(hh,EAmain.ActivityStartTimeHours || ':' || EAmain.ActivityStartTimeMin,EAmain.ActivityStopTimeHours || ':' || EAmain.ActivityStopTimeMin)-1)
WHEN (EAmain.ActivityStopMin - EAmain.ActivityStartMin) >= 0 THEN
(DATEDIFF(hh,EAmain.ActivityStartTimeHours || ':' || EAmain.ActivityStartTimeMin,EAmain.ActivityStopTimeHours || ':' || EAmain.ActivityStopTimeMin))
END || ':' || (DATEDIFF(n,EAmain.ActivityStartTimeHours || ':' || EAmain.ActivityStartTimeMin,EAmain.ActivityStopTimeHours || ':' || EAmain.ActivityStopTimeMin)#60) || '0' AS ActivityTotalTime,
РЕДАКТИРОВАТЬ: я нашел код ошибки, вот он:
ОШИБКА № 5540: SQLCODE: -29 Сообщение: поле «EAMAIN.ACTIVITYSTOPMIN» не найдено в соответствующих таблицах ^ ВЫБЕРИТЕ Имя, Start_Time, Stop_Time, Visit_Date, Total_Time, ActivityStartTime, ActivityStopTime, CASE WHEN LEN (ActivityTotalTime) =? THEN SUBSTR(ActivityTotalTime, ?, ?) WHEN LEN(ActivityTotalTime) = ? THEN ActivityTotalTime END AS ActivityTotalTime, Discipline FROM (SELECT Demographics. Name, Visits. Start_Time, Visits. Stop_Time, Visits. Visit_Date, Visits. Total_Time, EAmain. ActivityStartTime, EAmain. ActivityStopTime, ? || CASE WHEN (EAmain. ActivityStopMin-
РЕДАКТИРОВАТЬ СНОВА!: Этот код был реализован до оператора CASE, и он работал:
'0' || DATEDIFF(hh,EAmain.ActivityStartTimeHours || ':' ||
EAmain.ActivityStartTimeMin,EAmain.ActivityStopTimeHours || ':' ||
EAmain.ActivityStopTimeMin) || ':' || (DATEDIFF(n,EAmain.ActivityStartTimeHours || ':' ||
EAmain.ActivityStartTimeMin,EAmain.ActivityStopTimeHours || ':' ||
EAmain.ActivityStopTimeMin)#60) || '0' AS ActivityTotalTime,