Sql 基于星期几查询日期范围
我试图进行一个查询,显示当天和前一天的记录,但如果是周一,则显示整个周末以及当天的记录 逻辑是可行的,但我无法让日期范围正常工作。我可以安排单独的约会去工作Sql 基于星期几查询日期范围,sql,date,ms-access,iif,Sql,Date,Ms Access,Iif,我试图进行一个查询,显示当天和前一天的记录,但如果是周一,则显示整个周末以及当天的记录 逻辑是可行的,但我无法让日期范围正常工作。我可以安排单独的约会去工作 IIf(Weekday(Date())=2,Date()-2,Date()) 如果我尝试将单个日期替换为如下范围: IIf(Weekday(Date())=2,Between Date()-2 And Date(),Between Date()-1 And Date()) Access尝试从该查询引用的表中添加标签,如下所示。这将导致一
IIf(Weekday(Date())=2,Date()-2,Date())
如果我尝试将单个日期替换为如下范围:
IIf(Weekday(Date())=2,Between Date()-2 And Date(),Between Date()-1 And Date())
Access尝试从该查询引用的表中添加标签,如下所示。这将导致一个空的查询结果
IIf(Weekday(Date())=2,([Table].[Reported Date]) Between Date()-2 And Date(),([Table].[Reported Date]) Between Date()-1 And Date())
我对访问是新手,所以我不太明白发生了什么以及它为什么要添加这些标签
如果我走错了方向,请告诉我。中间的语法是:
尝试以下方法:
YourColumn between Date()-2 and Date()
或者,不在以下两者之间:
您可以使用DATEPART获取一周中的某一天。例如,周一被视为2天 DatePart函数使用1-7,星期日为1 前 声明变量并使用DATEPARTw,GETDATE 一旦你有了这个,你可以使用你的条件:
if (@todayDate_PT = 2)
'query'
else
'query'
当我执行这些操作时,Access不会抱怨,但我仍然有一个空查询。我应该写[Originatable].[Column]还是只写[Column]?我应该提到的是,刚写的列会自动更改为列。您在哪里输入这些字符串?在SQL视图中还是在查询设计器的一部分中?是的。。查询设计器。我把它作为WHERE参数输入到SQL视图而不是design视图中,它就工作了。谢谢
YourColumn between Date()-2 and Date()
Date()-2 <= YourColumn and YourColumn <= Date()
if (@todayDate_PT = 2)
'query'
else
'query'