我将数据库表作为日历,LoginDate和LoginDay作为列。我想为下一年添加一周的日期和日期。我知道如何为一个专栏做,但我必须为两个专栏做。

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

最佳答案

坦率地说,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))

关于mysql - 在MySQL中添加1年日期和星期几,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33729920/

10-10 03:32