【问题标题】:Calculate DATE from YEAR, WEEK and WEEKDAY in MySQL在 MySQL 中根据 YEAR、WEEK 和 WEEKDAY 计算 DATE
【发布时间】:2014-12-20 04:59:13
【问题描述】:

标题说的差不多

我基本上想做一个简单的查询...

SELECT *
FROM sign_in_out
WHERE user_id = 6
  AND time_signed < DATE('2014-10-23 16:11:54')
ORDER BY time_signed DESC LIMIT 1

...获取给定日期之前最近的登录/退出活动,以确定相关用户在当天开始时是否已登录或退出。上面的查询工作正常,但问题是我没有这样的日期,我有 YEAR、WEEK 和 WEEKDAY。

如何在 MySQL 中根据这些创建 DATE?

谢谢

【问题讨论】:

    标签: mysql sql date


    【解决方案1】:
    SELECT *
    FROM sign_in_out
    WHERE user_id = 6
      AND time_signed < MAKEDATE(year_col,(week_col*7+(weekday-1)))
    ORDER BY time_signed DESC LIMIT 1
    

    检查手册MAKEDATE

    【讨论】:

    • 感谢您的回答。不过有一件事,我必须使用 +weekday-1 来获得预期的结果,例如 MAKEDATE({YEAR}, ({WEEK} * 7 + {WEEKDAY} - 1))
    猜你喜欢
    • 2015-07-31
    • 1970-01-01
    • 1970-01-01
    • 2020-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-23
    • 1970-01-01
    相关资源
    最近更新 更多