有没有办法让表格中的列自动计算开始日期和结束日期之间的时差?
(datediff(hour,[StartTime],[EndTime]))
答案 0 :(得分:5)
ALTER TABLE yourTable
ADD yourColumn AS (datediff(hour,[StartTime],[EndTime]))
<强> SQLFiddle DEMO 强>
编辑: 这是alter table的语法,当然你也可以在创建表时定义它
CREATE TABLE tbl1
(
startDate DATETIME,
enddate DATETIME,
diffCol AS (datediff(hour,startDate,enddate))
);
SSMS在表设计器中也有一个选项来为计算列添加公式
答案 1 :(得分:1)
假设StartTime和EndTime都是表格同一行的列,您可以使用计算列:
ALTER TABLE MyTable ADD TimeDiffHours AS DateDiff(hour,[StartTime],[EndTime]);