获得季度的天数

时间:2012-01-25 22:58:15

标签: sql sql-server sql-server-2008 tsql

我想知道你当前约会时的哪一天。

例如,如果我给出01/25/2012,那么输出应为25.因为它是本季度的第25天。

同样,如果我给02/01/2012它应该给出32作为输出。

我能够获得本季度的第一天,但​​无法确定该季度的哪一天。

我做了类似的事情:

 SELECT FirstDayOfQuarter  = CONVERT(DATE, dateadd(qq, datediff(qq,0, GETDATE()),0))

任何人都可以帮助我吗?

3 个答案:

答案 0 :(得分:9)

查找本季度的第一天:     DATEADD(q,DATEDIFF(q,0,@ TestDate),0)

然后找出与您指定日期的天数差异。

DECLARE @TestDate DateTime

SET @TestDate = 'January 25, 2012'


SELECT DATEDIFF(dd, DATEADD(q, DATEDIFF(q, 0, @TestDate),0), @TestDate) +1

答案 1 :(得分:2)

你快到了。

SELECT DateDiff(dd,CONVERT(DATE, 
       dateadd(qq, datediff(qq,0, GETDATE()),0)),getDate())+1

答案 2 :(得分:1)

尝试此操作以获取当前季度中的天数;

选择datediff(dd,dateadd(qq,datediff(qq,0,getdate()),0),dateadd(qq,datediff(qq,0,getdate())+ 1,0))