Sql 两列日期的差异,并在第三列中自动更新
假设在Sql 两列日期的差异,并在第三列中自动更新,sql,oracle,Sql,Oracle,假设在sql中有两列名为StartDate,EndDate(2017/03/09 11:25:02,2018/08/10 15:20:03) 我需要获取持续日期列(年数,月数,天,小时,分钟,秒)应根据sql表中的StartDate和EndDate在持续时间列中自动更新。自Oracle 11g以来,您可以使用生成的列: alter table t add duration as (EndDate - StartDate); 如果这两个“日期”存储为时间戳,则会产生间隔结果。两个日期的差值是十进
sql
中有两列名为StartDate
,EndDate
(2017/03/09 11:25:02
,2018/08/10 15:20:03
)
我需要获取
持续日期
列(年数,月数
,天
,小时
,分钟
,秒
)应根据sql
表中的StartDate
和EndDate
在持续时间列中自动更新。自Oracle 11g以来,您可以使用生成的列:
alter table t add duration as (EndDate - StartDate);
如果这两个“日期”存储为时间戳
,则会产生间隔结果。两个日期的差值是十进制天数
在早期版本中,您需要使用视图来完成同样的任务。创建视图,以始终返回最新值!创建一个触发器,在更新和插入每一列时执行