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

今天的SQL比较日期时间

  •  4
  • Marc  · 技术社区  · 16 年前

    我希望任何人都能翻译我的抽象查询。

    我想从表中选择*,其中([MyDateTimeRow]<(今天-3天))。

    我必须转换、转换或使用日期部分或其他内容吗?…我很困惑。

    有简单的规则吗?使用Linq我不会有任何问题,但我几乎没有学到简单的SQL。

    谢谢,并致以最良好的祝愿。

    2 回复  |  直到 16 年前
        1
  •  8
  •   Andrew    16 年前

    简单来说:

    Select * from Table where MyDateTimeRow < dateadd(dd,-3,getdate())
    

    但是使用getDate()将提供日期和时间,Experience说这不太可能正是您想要的-您可能希望减少时间并只考虑日期部分

    Select * From Table where MyDateTimeRow < dateadd(dd, datediff(dd, 0, getdate()) - 3, 0)
    
        2
  •  2
  •   Chris Latta    16 年前

    你想要 DateAdd 操作日期的函数和获取当前日期的getDate函数:

    SELECT * FROM MyTable WHERE [MyDateTimeRow] < DateAdd(dd, -3, GetDate())