Mysql中的周数周

时间:2016-03-16 08:48:44

标签: mysql date where dayofweek

我需要写一个where子句,选择一年中星期一到星期五之间所有记录。 CURDATE()不起作用,因为我没有使用当前日期,只是作为参考的周数。

我想要实现的目标如下:

WHERE appointment.appointment_date >= DATE(Monday of YEARWEEK(30)) and appointment.appointment_date <= DATE(Friday of YEARWEEK(30))

3 个答案:

答案 0 :(得分:1)

您可以使用DAYOFWEEK。你可以获得不是星期日或星期六的所有日期。

SELECT.... FROM appointment 
WHERE DAYOFWEEK(appointment.appointment_date) <> 1 
OR DAYOFWEEK(appointment.appointment_date) <> 7;

答案 1 :(得分:0)

以下内容列出了周一至周五的一周中所有日期。

WHERE DAYOFWEEK(appointment.appointment_date) >= 2 AND DAYOFWEEK(appointment.appointment_date) <= 7
  

DAYOFWEEK从1 =星期日开始

请使用上面和this SO post的接受答案。

P.S。日期是非常复杂的,你正在使用哪个日历系统?英国/美国/ ISO?这是闰年吗?等等

答案 2 :(得分:0)

WHERE DATE_FORMAT(appointment.appointment_date, '%w') in (1,2,3,4,5) and ATE_FORMAT(appointment.appointment_date, '%Y') = YEAR(CURDATE())

听到:1 =星期一,2 =星期二,3 =星期三,4 =星期四,5 =星期五