在Access SQL中将日期转换为财务季度

时间:2015-03-09 10:57:02

标签: sql ms-access ms-access-2013 financial

我在尝试找出一种在我的访问数据库中获取一些SQL以在dd/mm/yyyy(英国)格式的日期创建财务季度结果的好方法时遇到了一些麻烦。我在表'DimDate'中有一个名为'Date'的列,我在同一个表中有一个名为'FinancialQuarter'的列。 所以我基本上希望SQL能够解决以下问题:

如果月份在1到3之间等于Q1, 如果月份在4到6之间等于Q2, 如果月份在7到9之间等于Q3, 如果月份在10到12之间等于Q4,

我有一些基本的SQL技能,但我不是专家。我在StackOverflow中发现了一个类似于这个问题的帖子,但是我没有取得任何进展。他们使用的SQL代码我修改如下:

SELECT
Date,
CASE
    WHEN MONTH(Date) BETWEEN 1  AND 3  THEN convert(char(4), YEAR(Date) - 1) + 'Q1'
    WHEN MONTH(Date) BETWEEN 4  AND 6  THEN convert(char(4), YEAR(Date) - 1) + 'Q2'
    WHEN MONTH(Date) BETWEEN 7  AND 9  THEN convert(char(4), YEAR(Date) - 0) + 'Q3'
    WHEN MONTH(Date) BETWEEN 10 AND 12 THEN convert(char(4), YEAR(Date) - 0) + 'Q4'
END AS FinancialQuarter 
FROM
DimDate

我的代码根本不起作用,而且可能完全错误,任何帮助都会受到高度赞赏!

由于 詹姆斯。

1 个答案:

答案 0 :(得分:1)

实现了您的使用权限

DatePart('q',[date])

DATEPART QUARTER

SELECT date, DATEPART(QUARTER, date) as FinancialQuarter 
FROM DimDate