【问题标题】:Week day of week number in MysqlMysql中的星期几
【发布时间】:2016-07-02 00:51:37
【问题描述】:

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

我想要达到的目标如下:

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

【问题讨论】:

    标签: mysql date where dayofweek


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      下面给出了从星期一到星期五的所有日期。

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

      DAYOFWEEK 从 1 = 星期日开始

      所以使用上述和this SO post 接受的答案。

      附:日期很难正确完成,您使用的是哪种日历系统?英国/美国/国际标准化组织?是闰年吗?等等等等

      【讨论】:

        【解决方案3】:
        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 = 星期五

        【讨论】:

          猜你喜欢
          • 2016-09-04
          • 1970-01-01
          • 2013-12-31
          • 2014-01-11
          • 1970-01-01
          • 1970-01-01
          • 2016-10-22
          • 2015-05-13
          • 2022-08-10
          相关资源
          最近更新 更多