有人可以帮帮我吗?我不确定为什么这段代码不能执行:
'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'^ SELECT Name,Start_Time,Stop_Time,Visit_Date,Total_Time,ActivityStartTime,ActivityStopTime,CASE WHEN LEN(ActivityTotalTime)=?那么SUBSTR(ActivityTotalTime,?,?)WHEN LEN(ActivityTotalTime)=?然后,ActivityTotalTime结束作为ActivityTotalTime,Discipline FROM(选择人口统计。姓名,访问次数,Start_Time,访问次数,Stop_Time,访问次数,访问次数,访问次数.Total_Time,EAmain.ActivityStartTime,EAmain。活动停止时间,?|| 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,
答案 0 :(得分:1)
在最后一行你 EAmain.ActivityStartTimeMin,EAmain.ActivityStopTimeHours
。这个逗号似乎是错位的。与最后一行的)#60)
几个字符一样。
EAmain.ACTIVITYSTOPMIN不存在。 :)我在你的错误信息中看到EMain不是一个表而是一个查询。确保您也在查询中选择该字段。