根据星期几查询日期范围
Query for date range based on day of the week
我正在尝试进行查询以显示当天和前一天的记录,但如果是星期一,则显示整个周末和当天的记录。
逻辑有效,但我无法使日期范围正常工作。我可以让单一日期工作。
IIf(Weekday(Date())=2,Date()-2,Date())
如果我尝试用这样的范围替换单个日期:
IIf(Weekday(Date())=2,Between Date()-2 And Date(),Between Date()-1 And Date())
Access 尝试从 Table 此查询引用的标签中附加标签,就像这样。这会导致查询结果为空。
IIf(Weekday(Date())=2,([Table].[Reported Date]) Between Date()-2 And Date(),([Table].[Reported Date]) Between Date()-1 And Date())
我是 Access 的新手,所以我不太明白发生了什么以及为什么它会尝试添加这些标签。
如果我做错了,请告诉我。
between
的语法是:
<value> between <lower bound> and <upper bound>
所以这不是一个有效的表达式:
Between Date()-2 And Date()
试试这样的:
YourColumn between Date()-2 and Date()
或者,没有 between
:
Date()-2 <= YourColumn and YourColumn <= Date()
您可以使用 DATEPART() 获取星期几。例如 - 星期一被认为是 2.
DatePart 函数使用 1-7,星期日为 1。
例如
声明您的变量并使用 DATEPART(w,GETDATE()).
一旦你有了这个,你就可以使用你的条件:
if (@todayDate_PT = 2)
'query'
else
'query'
我正在尝试进行查询以显示当天和前一天的记录,但如果是星期一,则显示整个周末和当天的记录。
逻辑有效,但我无法使日期范围正常工作。我可以让单一日期工作。
IIf(Weekday(Date())=2,Date()-2,Date())
如果我尝试用这样的范围替换单个日期:
IIf(Weekday(Date())=2,Between Date()-2 And Date(),Between Date()-1 And Date())
Access 尝试从 Table 此查询引用的标签中附加标签,就像这样。这会导致查询结果为空。
IIf(Weekday(Date())=2,([Table].[Reported Date]) Between Date()-2 And Date(),([Table].[Reported Date]) Between Date()-1 And Date())
我是 Access 的新手,所以我不太明白发生了什么以及为什么它会尝试添加这些标签。
如果我做错了,请告诉我。
between
的语法是:
<value> between <lower bound> and <upper bound>
所以这不是一个有效的表达式:
Between Date()-2 And Date()
试试这样的:
YourColumn between Date()-2 and Date()
或者,没有 between
:
Date()-2 <= YourColumn and YourColumn <= Date()
您可以使用 DATEPART() 获取星期几。例如 - 星期一被认为是 2.
DatePart 函数使用 1-7,星期日为 1。
例如
声明您的变量并使用 DATEPART(w,GETDATE()).
一旦你有了这个,你就可以使用你的条件:
if (@todayDate_PT = 2)
'query'
else
'query'