Sql server 两列之间的日期差

Sql server 两列之间的日期差,sql-server,date,Sql Server,Date,关于两个日期之间的差异,请您帮助进行以下查询 我当前的表有很多列,但是我想添加另一列来确定日期差异 应比较表中的两列,然后必须在新添加的列中填充日期差异,但不应考虑小时、秒、秒。查询应仅统计不同的日期更改 纵队 - ServiceDt (2014/09/22) - ServiceToDt - SettleDt - ReceiveDt - AssessDt (2014/10/01) - New Column ( 9 Days) 必须使用ServiceDt和assessedt

关于两个日期之间的差异,请您帮助进行以下查询

我当前的表有很多列,但是我想添加另一列来确定日期差异

应比较表中的两列,然后必须在新添加的列中填充日期差异,但不应考虑小时、秒、秒。查询应仅统计不同的日期更改

纵队

- ServiceDt    (2014/09/22)
- ServiceToDt
- SettleDt
- ReceiveDt
- AssessDt     (2014/10/01)

- New Column   ( 9 Days) 
必须使用
ServiceDt
assessedt
之间的差异来更新
新列

日期差异应计为9天,因为发生了9个不同的时间日期

希望以上任何一条都有意义。我试过这么多的问题,甚至不能给你一个例子,因为没有一个是有效的


多谢各位

您可以使用:
DATEDIFF(DAY,FromDate,ToDate)

使用计算列

  ALTER TABLE tbl
ADD DATE_DIFFS AS DATEDIFF(DAY, ServiceDt , AssessDt)

您可能不应该添加计算列,因为数据已经存在。您可以创建一个视图。这将包含相同的信息

CREATE VIEW v_yourview as
SELECT 
  ServiceDt,
 ServiceToDt,
 SettleDt,
 ReceiveDt,
 AssessDt,
 DATEDIFF(DAY, ServiceDt, AssessDt) difference
FROM yourtable
如果出于性能原因需要额外的列。创建一个持久化的计算列。这将在创建索引时像普通列一样工作

ALTER TABLE yourtable 
ADD cDifference as DATEDIFF(DAY, ServiceDt, AssessDt) PERSISTED

DATEDIFF(DAY,FromDate,ToDate)
我不建议您创建一个新列来存储两个现有列之间的天数差。因为无论何时需要,您都可以简单地使用query.be more spacific.you想要向报表或表中添加列吗?感谢所有不同的方法,我将测试所有不同的查询,但是,第一个答案已经为我提供了我所需要的。
ALTER TABLE yourtable 
ADD cDifference as DATEDIFF(DAY, ServiceDt, AssessDt) PERSISTED