代码之家  ›  专栏  ›  技术社区  ›  John Beasley

从当前日期起14天内选择所有记录

  •  0
  • John Beasley  · 技术社区  · 4 年前

    我正在尝试获取所有日期不超过当前日期14天的记录。

    当我运行以下命令时:

    select sysdate + 14 from dual
    

    12/21/2021 9:16:25 PM
    

    因此,我不应该在上述日期之后获得任何记录。

    select
      full_name
      eta
    from table
    where eta > sysdate + 14
    

    但当我运行该查询时,我得到的日期最早在4月和5月。

    2 回复  |  直到 4 年前
        1
  •  2
  •   Austin    4 年前

    你所做的一切 where eta > sysdate + 14 eta 从当前数据库日期起超过14天。你想要的是一个 between :

    select
      full_name
      eta
    from table
    where eta between sysdate and sysdate + 14
    

    这将为您提供任何带有

    如果您希望在未来14天内记录,而不考虑下限,则需要:

    select
      full_name
      eta
    from table
    where eta <= sysdate + 14
    
        2
  •  1
  •   Littlefoot    4 年前

    应该是

    where eta <= sysdate + 14