0

我正在尝试编写一个查询,该查询将使用 Q1、Q2、Q3、Q4 填充“Quarter”字段,具体取决于某个交易发生在哪个月份。我正在尝试这种方式,我认为这很笨拙:

IIf([Original Date] like “7*” Or [original date] like “8*” or [original date] like “9*”, “Q1”, IIf ([Original Date] like “10*” or [Original Date] like “11*” or [Original Date] like “12*”, “Q2”, IIF([Original Date] like “1*” or [Original Date] like “2*” or [Original Date] like “3*”, “Q3”, IIf([Original Date] like “4*” or [Original Date] like “5*” or [Original Date] like “6*”, “Q4”, Null))))

然而,这不起作用。我在想可能是因为 [Original Date] 字段是日期/时间数据类型。有没有更好的方法来编写这个查询?

4

1 回答 1

1

如果是日期,请使用DatePart("q") 。[Original Date]

(如果没有,请使用CDate()

SELECT "Q" & DatePart("q", [Original Date]) AS Quarter
FROM myTable

哦,等等,您的第一季度从 7 月开始。然后例如修改日期,添加 6 个月:

SELECT "Q" & DatePart("q", DateAdd("m", 6, [Original Date])) AS Quarter
FROM myTable
于 2018-08-07T13:11:30.257 回答