我试图从一周的第一天找到季度。
例如,一周的第一天是12/31/2012
我希望本季度能够说明2013年第一季度。但如果我从特定日期发现QTR,那就是2012年第四季度。
答案 0 :(得分:0)
我不确定这适用于您所有情况,所以请测试不同的日期:
DECLARE @date DATETIME
SET @date = '2012-12-31'
SELECT
qtr = DATEPART(quarter, DATEADD(DAY, 7 - DATEPART(weekday, @Date), @date)),
YearNum = DATEPART(YEAR, DATEADD(DAY, 7 - DATEPART(weekday, @Date), @date))
答案 1 :(得分:0)
这是针对Oracle - 年度周表......可能会给你一些想法:
-- ISO_WK# --
SELECT mydate
, TRUNC(mydate, 'w') wk_starts
, TRUNC(mydate, 'w') + 7 - 1/86400 wk_ends
, TO_NUMBER (TO_CHAR (mydate, 'IW')) ISO_wk#
FROM
(
SELECT TRUNC(SYSDATE, 'YEAR')-1 + LEVEL AS mydate -- 1st day of yr-1 day --
FROM dual
CONNECT BY LEVEL <=
(-- First day of curr year – first day of past year --
SELECT TRUNC(SYSDATE, 'YEAR')-TRUNC(ADD_MONTHS (SYSDATE, -12), 'YEAR') "Num of Days"
FROM dual
)
)
/