如何计算SQL中的天数?

时间:2018-03-10 11:36:46

标签: sql sql-server

我想像下面那样按日计算

Like this:

我正在使用此代码获得数月:

DECLARE @Date datetime = '2017-12-06'

SELECT
    CAST(DATEDIFF(M, @Date, GETDATE()) AS varchar) + ' Months and ' + 
        CAST(DATEDIFF(D, @Date, DATEADD(M, - DATEDIFF(M, @Date, GETDATE()), GETDATE())) AS varchar) + ' Days'

输出:

(Result)
3 Months and 4 Days

它有效,但我需要这样的输出

90 days + 4 days = 94days

预期产出:

Month=3.09041

提前致谢

1 个答案:

答案 0 :(得分:1)

平均而言,一个月有30.43天(365.25 / 12)。这样做怎么样?

SELECT DATEDIFF(days, @Date, GETDATE()) / (365.25 / 12)

这不会产生您的确切结果,但它是十进制月的非常好的估计。