创建带有计算列的表格。

3
我想创建一个有三列的表格:
START_DATE|END_DATE|TOTAL_TIME 

START_DATEEND_DATE都应该是date类型。使用这两个列计算TOTAL_TIME。如何创建表格?

1个回答

4

您可以使用 as 关键字创建计算列。在 Oracle 中减去两个 date 将给出它们之间的天数差。然后您可以轻松地将其转换为任何单位(例如,乘以 24 可以得到以小时为单位的持续时间):

CREATE TABLE my_table (
    id NUMBER PRIMARY KEY,
    start_date DATE,
    end_date DATE,
    total_time NUMBER AS (end_date - start_date) -- This is in days
);

非常感谢您的回复。实际上,我想获得total_time=start_date-end_date。我想在第三列中获取这两个列之间的差异。如何做到这一点? - Kate
@kkl 只需将其翻转 :-) 请注意,start_date-end_date 始终为负数。 - Mureinik
嗨,我的END_DATE列的值类似于2017-07-09 10:30:00,而START_DATE的值类似于2017-07-09 09:30:00。我想从END_DATE中减去START_DATE,并将结果作为1.30(小时)放入TOTAL_TIME中。如何获得这个结果? - Kate

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接