3

四半期で利用可能な月の名前を表示したいと考えています。1 年に 4 つの四半期 1、2、3、4 があることを意味します。次のクエリがあります。

select  datename(month,(DATEADD(QUARTER, DATEDIFF(QUARTER, 0, GETDATE()), 0)) )

アウトプットは:10月

しかし、出力を次のように取得するには、このクエリをどのように変更すればよいですか。

October
November
December
4

3 に答える 3

1
declare @quarter datetime
set @quarter = DATEADD(QUARTER, DATEDIFF(QUARTER, 0, GETDATE()), 0)

select datename(month, @quarter)
union all
select datename(month, (DATEADD(month, 1, @quarter) ) )
union all
select datename(month, (DATEADD(month, 2, @quarter) ) )
于 2012-12-21T04:43:02.603 に答える
0
SELECT DATENAME(m,DATEADD(qq, DATEDIFF(qq,0,getdate()), 0)) AS MonthsInQuarter
UNION ALL
SELECT DATENAME(m,DATEADD(mm,1,DATEADD(qq,DATEDIFF(qq,0,getdate()),0))) 
UNION ALL
SELECT DATENAME(m,DATEADD(mm,2,DATEADD(qq,DATEDIFF(qq,0,getdate()),0)))
于 2012-12-21T04:58:15.007 に答える
0

これを試して

DECLARE @d datetime = Dateadd(mm,0,getdate())
-- set @d = Dateadd(mm,-3,getdate())

;With Dates
AS
(
SELECT DATEADD(qq,DATEDIFF(qq,0,@d),0) AS StartDt,DATEPART(qq,@d) AS Qr
UNION ALL
SELECT DATEADD(mm,1,StartDt),DATEPART(qq,DATEADD(mm,1,StartDt+1)-1)
FROM Dates
WHERE DATEPART(qq,DATEADD(mm,1,StartDt+1)-1)  = DATEPART(qq,@d)
)
SELECT 
datename(month,StartDt) Mnth, Qr,StartDt
FROM Dates
于 2012-12-21T04:44:00.077 に答える