mysql:只选择周末发生的事情

时间:2010-05-09 08:48:14

标签: mysql

我有一个表,存储所有用户创建的事件,并带有字段“start_time”和“end_time” 如何在周末选择所有活动?

2 个答案:

答案 0 :(得分:3)

使用DAYOFWEEK()

  

返回日期的工作日索引(1 =星期日,2 =星期一,...,7 =星期六)。这些索引值对应于ODBC标准。

这样的东西
SELECT * FROM events WHERE DAYOFWEEK(start_time) = 7 
                     OR DAYOFWEEK(start_time) = 1 
                     ...

答案 1 :(得分:1)

我建议使用BETWEEN运算符。类似的东西:

SELECT ... FROM EVENTS WHERE
    START_TIME BETWEEN :weekend_start AND :weekend_end
    OR END_TIME BETWEEN :weekend_start AND :weekend_end

(然后你可以找出有关周末的开始和结束时间,然后将它们绑定在适当的位置)

上面会发现至少与周末重叠的任何内容。如果事件必须在周末完全包含(即无法在之前开始,之后无法开始),则只需将OR更改为AND