在mysql查询中的WHERE子句中的IF条件

时间:2016-01-19 10:45:11

标签: php mysql sql if-statement

我有一个查询,用于根据 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的正确语法有疑问。请注意它。

0 个答案:

没有答案