代码之家  ›  专栏  ›  技术社区  ›  rostamiani

如何在Access中选择两个日期之间的记录[[副本]

  •  0
  • rostamiani  · 技术社区  · 6 年前

    select *  from logs 
    where date_added >= CDate("01/10/2018") 
    AND date_added <= CDate("04/10/2018")
    

    我需要两个边界值,但结果不包括最后一天。可能是因为“04/10/2018”转换为“04/10/2018 00:00:00”,并且该值小于当天的所有日期附加值。

    2 回复  |  直到 6 年前
        1
  •  2
  •   Milad Aghamohammadi    6 年前

    你能给你的约会增加一天吗?

    AND date_added < DateAdd('d',1,CDate("04/10/2018"))
    
        2
  •  1
  •   C Perkins    6 年前

    另一种说法是:

    SELECT * FROM logs 
    WHERE DateValue(date_added) BETWEEN  #01/10/2018#  AND  #4/10/2018#
    

    • 日期文字可以用 # #10/6/2018 4:16 PM# , #1/1/2018#

    • 简单的数学表示法可以用来从日期值中加减整天。例子: #10/6/2018# + 1 == #10/7/2018#

    • DateValue( val ) 我可以将添加的日期转换为仅日期吗? 它基本上返回与时间部分相同的日期值 00:00:00

      例子: DateValue(#10/6/2018 4:16 PM#) == #10/6/2018#

    • DateAdd ( interval, number, date )

    • 仅在SQL(而不是VBA)中,可以使用BETWEEN运算符。它适用于具有自然排序顺序(包括日期值)的各种数据类型。

      例子 ... WHERE [DateField] BETWEEN #1/1/2018# AND #4/1/2018#