Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 基于星期几查询日期范围_Sql_Date_Ms Access_Iif - Fatal编程技术网

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'