我希望使用子查询列出学生姓名及其课程代码,以供周一下午2点至6点没有时间表讲座的学生使用
我的SQL查询是
SELECT fname, surname, courseCode, dayReq, timeReq
FROM student, roomBooking
WHERE id IN
(SELECT sID
FROM studentReg
WHERE NOT dayReq = "Monday" AND timeReq BETWEEN "14:00:00" AND "18:00:00");
当我尝试执行此操作时,我得到"标准表达式中的数据类型不匹配"这对应于timeReq BETWEEN" 14:00:00" AND" 18:00:00"一部分。
timeReq是日期/时间数据类型,所以我不明白为什么我会收到此错误?
答案 0 :(得分:0)
尝试使用DATEPART函数从timeReq获取小时,然后将其与您的间隔进行比较,如下所示
SELECT fname,
surname,
coursecode,
dayreq,
timereq
FROM student,
roombooking
WHERE id IN (SELECT sid
FROM studentreg
WHERE NOT dayreq = "monday"
AND Datepart("h", timereq) BETWEEN 14 AND 18)