首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >sql Alter table:根据datediff在2列之间创建一列

sql Alter table:根据datediff在2列之间创建一列
EN

Stack Overflow用户
提问于 2017-08-26 21:51:46
回答 2查看 1.2K关注 0票数 1

我想在两个现有的列(date1和date2)之间创建一个基于datediff函数的计算列。(以天为单位)

date1和date2是sql DATE类型。

我尝试过但没有成功:

代码语言:javascript
复制
     ALTER TABLE my_table ADD lenght AS datediff('dd', date1, date2)

谢谢你的帮助。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-08-26 22:53:44

当生成的列在其他列中引用的值发生更改时,该列将自动更新。正确的语法是:

代码语言:javascript
复制
ALTER TABLE my_table ADD length INT GENERATED ALWAYS AS (DATEDIFF('day', date1, date2))
票数 2
EN

Stack Overflow用户

发布于 2017-08-26 22:06:08

代码语言:javascript
复制
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
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45896144

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档