【问题标题】:Adding 1 year date and week days in mysql在mysql中添加1年日期和工作日
【发布时间】:2016-02-17 05:30:00
【问题描述】:

我将数据库表作为日历,以 LoginDate 和 LoginDay 作为列。我想为下一年添加日期和星期几。我知道如何为一列执行此操作,但我必须对两列都执行此操作。

UPDATE timsheetdb.calendar
SET LoginDate = DATE_ADD('2016-02-29', INTERVAL 1 YEAR);

【问题讨论】:

  • LoginDay 的数据类型是什么?
  • @bluto LoginDate as 'Date' and LoginDay as 'Varchar'
  • 所以 LoginDay 就像星期一星期二星期三?
  • @tofutim 是的,你是对的!

标签: mysql sql date sql-update dayofweek


【解决方案1】:

坦率地说,LoginDay 甚至不应该是表格中的一列。由于它只是 LoginDate 的特定格式,因此您可以删除它,并使用 dayname 函数即时生成它,例如,作为视图的一部分:

CREATE VIEW calendar_view AS
SELECT *, DAYNAME(LoginDate) AS LoginDay
FROM   calendar

如果这不是一个选项,您可以在 update 语句中使用相同的函数:

UPDATE timsheetdb.calendar 
SET    LoginDate = DATE_ADD('2016-02-29', INTERVAL 1 YEAR),
       LoginDay = DAYNAME(LoginDate = DATE_ADD('2016-02-29', INTERVAL 1 YEAR))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-09-30
    • 2021-11-20
    • 2023-03-14
    • 1970-01-01
    • 1970-01-01
    • 2017-04-20
    • 1970-01-01
    相关资源
    最近更新 更多