我想创建一个有三列的表格:
START_DATE|END_DATE|TOTAL_TIME
START_DATE
和END_DATE
都应该是date
类型。使用这两个列计算TOTAL_TIME
。如何创建表格?
START_DATE|END_DATE|TOTAL_TIME
START_DATE
和END_DATE
都应该是date
类型。使用这两个列计算TOTAL_TIME
。如何创建表格?
您可以使用 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
);
start_date-end_date
始终为负数。 - Mureinik