我有一个查询,用于根据 user_id 和时间从表格中选择用户的班次开始时间然后。在这里,我有一个if条件来检查他入住的时间是提前不到1小时还是迟到不到4小时。因此,如果查询提前不超过1小时且迟到不超过4小时,则该查询应返回shift_strt_time
。我想知道这是否是正确的方法。
SELECT shift_strt_time
FROM shift_attendance
WHERE user_id = $user_id
AND if($now >= shift_strt_time,if($now - shift_strt_time < 4*60*60,1,0),if(shift_strt_time - $now <= 1*60*60,1,0))
我还有一个疑问是,首先我写了这样的if条件,
if($now >= shift_strt_time,$now - shift_strt_time < 4*60*60,shift_strt_time - $now <= 1*60*60)
查询有效,但我对if where子句中IF的正确语法有疑问。请注意它。