大于/小于 date/time table 表达式
Greater than / Less than date/time table expression
我在 MS-access table 中有以下表达式:
IIf([End Date/Time]>="12/8/2016 6:00:00",1,0)
12/08/2016 18:15:00
将 return 为“1”,但是
12/08/2016 14:23:29
return 是 '0'
我假设这是 AM/PM 的问题。我尝试在我的表达式中输入“6:00:00 AM”,但没有任何变化。
此外,我想用 'yesterday' 替换“12/8/2016”,但 date()-1
似乎不起作用。
编辑:我发现时间需要为“06:00:00”。产生正确的日期。仍然不知道如何自动获取它(即昨天在 06:00)
谢谢
2 件事。首先,我相信您需要将字符串转换为日期时间。我认为你会得到不稳定的结果,因为它试图将它们作为不同的格式进行比较。像字符串或数字。要将格式设置为日期时间,您可以使用格式功能:
Format("12/8/2016 6:00:00AM", "mm/dd/yyyy hh:nn:ss am/pm")
其次,要添加日期,您需要使用 DateAdd 函数。
DATEADD('d',-1,"12/8/2016 6:00:00AM")
'd' 将 -1 定义为添加的 'day'。
所以,把它们放在一起:
DATEADD("d",-1,Format("12/8/2016 6:00:00AM", "mm/dd/yyyy hh:nn:ss am/pm"))
最后,如果你想要昨天的滚动,而不是永远的 12/7/2016(因为如果是这样的话你会只使用那个日期),你需要用这个函数得到今天的日期:
Date()
因此,将其加入我们的组合中,我们得到:
DATEADD("d",-1,Format(DATE() & " 6:00:00AM", "mm/dd/yyyy hh:nn:ss am/pm"))
您的问题是您将日期威胁为字符串。始终使用 日期,没有例外。
此外,如果您的字段不是日期值,则必须对其进行转换。
因此,这将起作用:
IIf(DateValue([End Date/Time]) >= #2016/12/8 6:00:00#, 1, 0)
还有这个:
IIf(DateValue([End Date/Time]) >= Date() - 1, 1, 0)
还有这个:
IIf(DateValue([End Date/Time]) >= DateAdd("d", -1, #2016/12/8 6:00:00#), 1, 0)
我在 MS-access table 中有以下表达式:
IIf([End Date/Time]>="12/8/2016 6:00:00",1,0)
12/08/2016 18:15:00
将 return 为“1”,但是
12/08/2016 14:23:29
return 是 '0'
我假设这是 AM/PM 的问题。我尝试在我的表达式中输入“6:00:00 AM”,但没有任何变化。
此外,我想用 'yesterday' 替换“12/8/2016”,但 date()-1
似乎不起作用。
编辑:我发现时间需要为“06:00:00”。产生正确的日期。仍然不知道如何自动获取它(即昨天在 06:00)
谢谢
2 件事。首先,我相信您需要将字符串转换为日期时间。我认为你会得到不稳定的结果,因为它试图将它们作为不同的格式进行比较。像字符串或数字。要将格式设置为日期时间,您可以使用格式功能:
Format("12/8/2016 6:00:00AM", "mm/dd/yyyy hh:nn:ss am/pm")
其次,要添加日期,您需要使用 DateAdd 函数。
DATEADD('d',-1,"12/8/2016 6:00:00AM")
'd' 将 -1 定义为添加的 'day'。
所以,把它们放在一起:
DATEADD("d",-1,Format("12/8/2016 6:00:00AM", "mm/dd/yyyy hh:nn:ss am/pm"))
最后,如果你想要昨天的滚动,而不是永远的 12/7/2016(因为如果是这样的话你会只使用那个日期),你需要用这个函数得到今天的日期:
Date()
因此,将其加入我们的组合中,我们得到:
DATEADD("d",-1,Format(DATE() & " 6:00:00AM", "mm/dd/yyyy hh:nn:ss am/pm"))
您的问题是您将日期威胁为字符串。始终使用 日期,没有例外。
此外,如果您的字段不是日期值,则必须对其进行转换。
因此,这将起作用:
IIf(DateValue([End Date/Time]) >= #2016/12/8 6:00:00#, 1, 0)
还有这个:
IIf(DateValue([End Date/Time]) >= Date() - 1, 1, 0)
还有这个:
IIf(DateValue([End Date/Time]) >= DateAdd("d", -1, #2016/12/8 6:00:00#), 1, 0)