简体   繁体   English

如何在SQL中计算几天到几个月?

[英]How to calculate days to months in SQL?

I want to calculate days to month like below 我想计算如下的每月天数

Like this: 像这样:

I am using this code to get months: 我正在使用此代码来获取月份:

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'

Output: 输出:

(Result)
3 Months and 4 Days

It works but I need output like this 它有效,但我需要这样的输出

90 days + 4 days = 94days

Expected output: 预期产量:

Month=3.09041

Thanks in advance 提前致谢

On average, a month has 30.43 days (365.25 / 12). 平均每个月有30.43天(365.25 / 12)。 How about just doing this? 怎么做呢?

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

This does not produce your exact results but it is a very good estimate of decimal months. 这不会产生确切的结果,但是它是十进制月份的很好的估计。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM