首页 > 解决方案 > 在两个日期范围之间检索 SQL

问题描述

我在数据库中有一组记录如下:

Id  Name      ExecutedFrom               ExecutedTo              Type
1   Cholo     2020-06-02 15:14:51.000    2020-06-03 15:14:51.000  A
2   Bacha     2020-06-04 15:14:51.000    2020-06-05 15:14:51.000  B
3   Chatwa    2020-06-04 15:14:51.000    2020-06-05 15:14:51.000  C

如何在 SQL 中检索前一天和当天之间的所有记录?就像,在这种情况下,我将传递两个参数,即DateTime.Now.AddDays(-1)ExecutedFrom 和DateTime.UtcNow ExecuteTo 作为参数,所以它应该返回 ID 为 2 和 3 的两条记录。我怎样才能在 SQL 中实现呢?请帮忙。

标签: sql

解决方案


在 SQL Server 中,您可以执行以下操作:

select * from mytable 
where   ExecutedFrom >= dateadd(DAY, -1, getdate()) 
AND dateadd(DAY, 1, getdate()) <= ExecutedTo;

推荐阅读