>我正在尝试从 1 天返回的结果,例如,如果我有一个工作在今天凌晨 1:00:00 运行 22/05/2018 我希望它返回 21/05/2018 00:00:00 am 到 21/05/2018 23:59:59 pm 的结果。
我试过下面的
select *
from table
where CreatedDateTime BETWEEN DATEADD(day, -1, GETDATE()) AND DATEADD(day, -0, GETDATE()) // it brings back everything from yesterday and today
我创建的日期时间如何在数据库2018-05-21 16:39:09.4830000
中存储的示例
bewteen
运算符根据>=
和<=
筛选日期
你需要:
select *
from table
where CreatedDateTime >= DATEADD(day, -1, GETDATE()) AND
CreatedDateTime < GETDATE();
我怀疑你需要cast(... as date)
如果是这样,你可以直接表达为
select *
from table
where cast(CreatedDateTime as date) = cast(DATEADD(day, -1, GETDATE()) as date);
这是一个关于在查询中过滤日期范围的好博客。
SELECT *
FROM table
WHERE CreatedDateTime BETWEEN GETDATE() -1 AND GETDATE()