【问题标题】:Select week from MySQL database where the week runs from Wednesday to Tuesday从 MySQL 数据库中选择周从周三到周二运行的周
【发布时间】:2015-04-20 02:19:24
【问题描述】:

我有一个完美运行的程序,它每周从我的数据库中获取信息。我目前的问题是,现在我必须将程序从选择当前周(周日到周六)更改为选择从周三到周二开始的一周。

这是我现在的查询,周日到周六运行良好:

SELECT time, roNum
FROM $user 
WHERE YEAR(date) = YEAR(CURDATE()) AND WEEK(date) = WEEK(CURDATE());

任何帮助将不胜感激。谢谢。

【问题讨论】:

    标签: php mysql


    【解决方案1】:

    执行此操作的一种方法是在提取日期组件之前调整日期。在这种情况下,您可能可以在提取年份和星期之前减去两天:

    SELECT time, roNum
    FROM $user
    WHERE YEAR(date - interval 2 day) = YEAR(CURDATE()) AND
          WEEK(date - interval 2 day) = WEEK(CURDATE());
    

    【讨论】:

    • 不起作用,仍然只显示从周日开始到周六结束的周。如果我为上周四添加一个条目,它不会在我的程序中将其拉出。如果我将日期更改为今天,它可以工作。
    【解决方案2】:

    感谢 Gordon Linoff 让我走上正轨。你的回答帮助我弄清楚了。这是让我到达我需要的地方的代码:

    SELECT time, roNum
    FROM $user
    WHERE YEAR(date + interval 4 day) = YEAR(CURDATE()) AND
          WEEK(date + interval 4 day) = WEEK(CURDATE())
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-08
      • 2019-11-14
      • 1970-01-01
      • 2021-02-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多