【问题标题】:Convert Date to Financial Quarter in Access SQL在 Access SQL 中将日期转换为财务季度
【发布时间】:2015-05-10 12:12:23
【问题描述】:

我在试图找出一种在我的访问数据库中获取一些 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

我的代码根本不起作用,而且可能完全错误,非常感谢任何帮助!

谢谢 詹姆斯。

【问题讨论】:

  • Access SQL 不支持CASE WHEN 构造。 Access SQL中对应的机制是Switch()函数。

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


【解决方案1】:

实现了你的使用权限

DatePart('q',[date])

日期季度

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

【讨论】:

  • 嗨,马特,当我运行时,系统会提示我输入 Quarter 的参数值。我会在这里输入什么?谢谢你的帖子。
猜你喜欢
  • 2017-09-08
  • 2022-11-09
  • 1970-01-01
  • 1970-01-01
  • 2018-10-31
  • 1970-01-01
  • 2015-09-13
  • 2023-01-22
  • 1970-01-01
相关资源
最近更新 更多