请帮助您解决以下关于两个日期之间差异的问题。
我当前的表格与大量列相结合,但我想添加另一列来确定日期差异。
应比较表中的两列,然后必须在新添加的列中填充日期差异,但不应考虑小时,秒,毫秒。查询应该只计算不同的日期更改。
列
- ServiceDt (2014/09/22)
- ServiceToDt
- SettleDt
- ReceiveDt
- AssessDt (2014/10/01)
- New Column ( 9 Days)
必须使用New Column
和ServiceDt
之间的差异更新AssessDt
。
日期差异应计为9天,因为发生了9个不同的时间日期。
希望上述任何一点都有意义。我已经尝试了很多查询,并且不能给你一个例子,因为他们没有工作。
谢谢。
答案 0 :(得分:1)
您可以使用:DATEDIFF(DAY, FromDate, ToDate)
SELECT
*,
NewCol = DATEDIFF(DAY, ServiceDt, AssessDt)
FROM table
答案 1 :(得分:0)
使用计算列
ALTER TABLE tbl
ADD DATE_DIFFS AS DATEDIFF(DAY, ServiceDt , AssessDt)
答案 2 :(得分:0)
您可能不应该添加计算列,数据已经存在。您可以创建一个视图。这将包含相同的信息。
CREATE VIEW v_yourview as
SELECT
ServiceDt,
ServiceToDt,
SettleDt,
ReceiveDt,
AssessDt,
DATEDIFF(DAY, ServiceDt, AssessDt) difference
FROM yourtable
如果出于性能原因需要额外的列。创建一个PERSISTED计算列。在创建索引时,这将像普通列一样工作。
ALTER TABLE yourtable
ADD cDifference as DATEDIFF(DAY, ServiceDt, AssessDt) PERSISTED