【问题标题】:Get previous weekday + MySQL获取上一个工作日 + MySQL
【发布时间】:2014-06-07 08:48:51
【问题描述】:

我需要得到前一个工作日。所以当它是星期一时,我需要在星期五得到结果,但我似乎无法理解 WEEKDAY() 函数。有人可以帮忙开始吗?

【问题讨论】:

  • 数据库层真的需要这个功能吗?
  • 不,我真的不认为这是最简单的。

标签: mysql sql dayofweek


【解决方案1】:

WEEKDAY() 根据星期几返回 0 到 6。您可以在代码中添加逻辑以忽略周末条件,然后返回星期五。

返回日期的工作日索引(0 = 星期一,1 = 星期二,... 6 = 星期日)。

所以如果WEEKDAY(date) - 1 == 5 || WEEKDAY(date) - 1 == 6 则改为等于 4(星期五)。

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_weekday

【讨论】:

    【解决方案2】:

    尝试关注

    select date_add(curdate(), interval
    case weekday(curdate())
       when 0 then 5
       when 6 then -2
       else -1
    end 
    day);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-06-10
      • 2019-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-06
      相关资源
      最近更新 更多