【发布时间】:2017-12-09 14:57:55
【问题描述】:
我想创建一个三列的表:
START_DATE|END_DATE|TOTAL_TIME
START_DATE 和 END_DATE 都应该是 dates。
TOTAL_TIME 应该使用这两列来计算。如何创建表格?
【问题讨论】:
标签: sql oracle ddl calculated-columns create-table
我想创建一个三列的表:
START_DATE|END_DATE|TOTAL_TIME
START_DATE 和 END_DATE 都应该是 dates。
TOTAL_TIME 应该使用这两列来计算。如何创建表格?
【问题讨论】:
标签: sql oracle ddl calculated-columns create-table
您可以使用as 关键字创建计算列。在 Oracle 中减去两个 dates 会给你天数的差异。然后,您可以轻松地将其转换为您希望的任何单位(例如,乘以 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 将永远是负面的