我在尝试找出一种在我的访问数据库中获取一些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
我的代码根本不起作用,而且可能完全错误,任何帮助都会受到高度赞赏!
由于 詹姆斯。
答案 0 :(得分:1)
实现了您的使用权限
DatePart('q',[date])
DATEPART QUARTER
SELECT date, DATEPART(QUARTER, date) as FinancialQuarter
FROM DimDate