【发布时间】:2017-03-01 06:13:22
【问题描述】:
我有一个名为 Dates 的表
Opendate Closedate
2015-07-09 NULL
2017-01-25 NULL
我希望输出为
Opendate Workingperiod
2015-07-09 1 years 8 months 20 days
2017-01-25 0 years 1 months 3 days
我们需要计算opendate和今天的日期之间的差异,并以年月日格式计算。
试过了
SELECT Opendate,
CAST(DATEDIFF(month,Opendate,GETDATE())/12 AS VARCHAR(5))+' year '+
CAST(DATEDIFF(month,Opendate,GETDATE())%12 AS VARCHAR(5)) +' month '+
CAST(DATEDIFF(day,DATEADD(month,DATEDIFF(month,Opendate,GETDATE()),Opendate),GETDATE()) AS VARCHAR(5))+' days ' AS Workingperiod
FROM Dates
输出:-
Opendate Workingperiod
2015-07-09 1 year 8 month -8 days
2017-01-25 0 year 2 month -24 days
我的日子都不好过,谁能告诉我哪里出了问题。
【问题讨论】:
-
您是假设每月 30 天还是实际?
-
我假设的实际天数,但即使是 30 天我仍然可以管理
标签: sql ssrs-2008-r2