SQL Server中的计算列规范 - 以小时或分钟为单位的时间差

时间:2013-06-24 15:06:56

标签: sql sql-server

有没有办法让表格中的列自动计算开始日期和结束日期之间的时差?

(datediff(hour,[StartTime],[EndTime]))

2 个答案:

答案 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]);