SQL - CASE WHEN Error?



有人能帮我吗?我不知道为什么这个代码一直不执行:

'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。在适用的表格中找不到ACTIVIYSTOPMIN"^SELECT Name,Start_Time,Stop_Time,Visit_Date,Total_Time,ActivityStartTime,ActivityStopTime,CASE WHEN LEN(ActivityTotalTime)=?THEN SUBSTR(ActivityTotalTime,?,?)WHEN LEN(ActivityTatalTime)=?THEN ActivityTotalTime END AS ActivityTotal Time,Discipline FROM

再次编辑!:这段代码是在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,

在最后一行,您得到了EAmain.ActivityStartTimeMin,EAmain.ActivityStopTimeHours。那个逗号好像放错地方了。正如)#60)一样,最后一行还有几个字符

EAmain。ACTIVIYSTOPMIN不存在。:)我在您的错误消息中看到,EMain不是一个表,而是一个查询。请确保在查询中也选择了该字段。

相关内容

最新更新