减去日期时间

时间:2016-06-29 20:55:31

标签: sql sql-server datetime datediff

我正在尝试找到最简单的方法来相互减去DATETIME,以产生YY:MM格式的差异。

按年份和月份连接两个时段的DATEDIFF显然只是将相同的时间差合并在一起,所以相隔2年的时间段显示2个月,24个月,当我希望它显示2个月,0个月时。

DATEDIFF(y,startdate,GETDATE())

任何提示?谢谢!使用SQL Server。

2 个答案:

答案 0 :(得分:0)

您可以使用CONCAT()按月构建DATEDIFF()结果来实现此目的:

Select  Concat
        (
            Right('00' + Convert(Varchar, DateDiff(Month, StartDate, GetDate()) / 12), 2), 
            ':', 
            Right('00' + Convert(Varchar, DateDiff(Month, StartDate, GetDate()) % 12), 2)
        )

答案 1 :(得分:0)

Select Concat(DateDiff(YY,StartDate,GetDate()),' Yrs,')+Concat((DateDiff(MM,StartDate,GetDate()))  % 12,' months')

返回 2年,2个月

- 假设StartDate是2014-04-29