一尘不染

如何将周数转换为日期?

mysql

给定一年和一个日历周,我如何获得该周的星期二作为日期?


阅读 1510

收藏
2020-05-17

共1个答案

一尘不染

给定您yearcw(日历周)作为变量(例如,从SELECT语句中获取),您可以通过以下方式获取DATE:

DATE_SUB(
  DATE_ADD(MAKEDATE(year, 1), INTERVAL cw WEEK),
  INTERVAL WEEKDAY(
    DATE_ADD(MAKEDATE(year, 1), INTERVAL cw WEEK)
  ) -1 DAY),

该短语DATE_ADD(MAKEDATE(year, 1), INTERVAL cw WEEK)重复;不想存储变量。SQL语句在MySQL上对我来说效果很好。

更新: 只是为了澄清:WEEKDAY(DATE_ADD(MAKEDATE(year, 1), INTERVAL cw WEEK))将产生一周的第一天。从中减去一个数字(星期二为-1;星期三为-2,依此类推,将为您选择一周中的特定日期)。看这里

2020-05-17