sql - 将新属性插入到根据 Oracle 中两列之间的分钟差计算的表的列中
问题描述
需要帮助解决以下问题:
Run Monash 已经决定,他们希望将特定赛事中跑步者的经过时间(完成时间 - 开始时间)存储为系统的一部分,而不是每次需要时都计算它。添加一个新属性,该属性将记录跑步者在事件中经过的时间。时间应存储为经过的分钟数,保留两位小数,例如。26.12 该属性必须根据当前存储在系统中的数据初始化为正确的经过时间。您应该注意,系统可能包含当前没有开始或结束时间的未来事件的注册。
插入条目表的示例是
INSERT INTO entry(entrystarttime,entryfinishtime)
VALUES (TO_DATE('01-feb-2018:10:00:00 AM', 'dd-mon-yyyy:hh:mi:ss am'),
TO_DATE('01-feb-2018:10:59:30 AM', 'dd-mon-yyyy:hh:mi:ss am');
两列的数据类型都是日期,所以表格看起来像这样
ENTRYSTARTTIME ENTRYFINISHTIME
-------------- ---------------
01/FEB/2018 01/FEB/2018
这就是我试图向表中添加一个名为 entryelapsedtime 的新属性
alter table entry add (entryelapsedtime number(7,2) DEFAULT 0 NOT NULL);
UPDATE entry
SET
entryelapsedtime = (entryfinishtime - entrystarttime) * 24 * 60, 2
SELECT * from entry;
但是这不起作用,因此我需要帮助编写此修改,所以我得到一个看起来像这样的表:
ENTRYSTARTTIME ENTRYFINISHTIME ENTRYELAPSEDTIME
-------------- --------------- --------------
01/FEB/2018 01/FEB/2018 59.5
解决方案
这不行吗?
UPDATE entry
SET entryelapsedtime = (entryfinishtime - entrystarttime) * 24 * 60;
我不确定, 2
应该做什么。
推荐阅读
- javascript - 打字稿中声明部分的类型错误(Angular / React)
- javascript - 如何将 JS 模块添加到 wordpress 主题
- c# - 错误:现有迁移使用该名称
- java - 如何从 shell 脚本顺序运行 jar 文件
- apache - mod_security 的设备警报上没有剩余空间
- graphics - DirectX 在 Intel 下重用命令队列时产生 TDR
- node.js - 阵列更新后,Firestore 未显示更新的文档
- excel - 单击按钮时的下一个单元格
- c# - 我们如何将子级添加到派生自 Panel 的自定义控件中?
- node.js - UNABLE_TO_VERIFY_LEAF_SIGNATURE 来自 Firebase 函数 node.js 和证书(pfx)的请求