gpt4 book ai didi

mysql - 列出取决于时间限制的项目

转载 作者:行者123 更新时间:2023-11-29 19:11:46 29 4
gpt4 key购买 nike

我试图提出一个 SQL 查询,该查询将列出特定时间跨度内的行,该时间跨度取决于当前时间。调用此查询的函数将检查用户是否在系统中,否则会将其列为缺席。

Table

例如,一个类在 9:00 开始,查询应将 ScheduleTimeStart 和 ScheduleTimeEnd 与当前时间进行比较。仅当时间为 9:00 及以后时,查询才应列出行,但如果当前时间超过 30 分钟冷却期,则不会列出行。换句话说,从 9:00 到 9:30。

到目前为止我做了什么:

SELECT studentID, scheduleID, scheduleDate, scheduleTimeStart, scheduleTimeEnd, schedule.classID, schedule.unitsID 
FROM schedule
JOIN schedule_students USING(scheduleID)
JOIN students USING(studentID)
WHERE scheduleDate=CURDATE()
AND scheduleTimeStart >= CURTIME() //Gordons answer
AND scheduleTimeStart < CURTIME() + interval 30 minute// but its not working
AND studentID=1003;

最佳答案

首先,学会使用参数。不要将 SQL 字符串与值混合在一起。这可能会导致语法错误和 SQL 注入(inject)漏洞。

SELECT s.*
FROM schedule s
WHERE scheduleID = ? AND classID = ? AND unitsID = ? AND
DATE(scheduleDate) = CURDATE() AND
scheduleTimeStart >= CURTIME() AND
scheduleTimeStart < CURTIME() + interval 30 minute;

尚不清楚您是否希望在 scheduleTimeEnd 上也有相同的条件。

关于mysql - 列出取决于时间限制的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43028674/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com