代码之家  ›  专栏  ›  技术社区  ›  Wilcar

sql Alter table:基于两列之间的datediff创建列

  •  1
  • Wilcar  · 技术社区  · 7 年前

    我的尝试没有成功:

         ALTER TABLE my_table ADD lenght AS datediff('dd', date1, date2)
    

    谢谢你的帮助。

    2 回复  |  直到 7 年前
        1
  •  2
  •   fredt    7 年前

    ALTER TABLE my_table ADD length INT GENERATED ALWAYS AS (DATEDIFF('day', date1, date2))
    
        2
  •  2
  •   Goose    7 年前
    ALTER TABLE my_table ADD lenght AS int;
    
    UPDATE my_table SET lenght = DateDiff('dd', date1, date2);
    
    -- Don't forget to add a trigger that fires on updated and inserted rows that will keep the value of lenght valid if the date1 or date2 changes