sql - Sql Server - 从提供的范围内的数据库中获取日期
问题描述
如果范围内任何点(开始日期和结束日期)的 FtableID 的 StatusID=2,我在获取记录时遇到问题。
我的表结构是
ID FTableID StatusID AddedOn
75324 53591 1 2019-03-17 06:48:14.490
75325 53591 2 2019-03-18 06:48:14.663
75326 53591 3 2019-03-19 06:54:20.830
@StartDate Datetime='2019/03/17 23:00:00' ,
@EndDate Datetime='2019/03/20 23:59:59'
Select ID, FTableID,StatusID,AddedOn from MyTableName where FTableID=53591
And StatusID=2 and AddedOn <= @EndDate
我知道我的查询是错误的,即使我在状态更改为3 ( Completed )后通过 @startdate 也会给出记录
我很困惑设置开始日期过滤器。
我需要检查此 FtableID 记录是否在提供的范围内的任何点处于状态 id =2
如果我通过 @StartDate Datetime='2019/03/18 23:00:00', @EndDate Datetime='2019/03/20 23:59:59' 应该会出现记录,因为它在这个范围内状态=2
记录不应该出现如果我通过 @StartDate Datetime='2019/03/19 23:00:00', @EndDate Datetime='2019/03/20 23:59:59' 因为它已转换为 statusID=3
请就此向我提出建议。提前致谢。
解决方案
用这个
select *
from YourTableName
where AddedOn between (@StartDate and @EndDate)
and StatusID=2
推荐阅读
- java - 如何在不启用操作栏上的后退按钮图标的情况下启用手机的后退按钮以返回上一个活动?
- video - 无法使用 html5 视频标签播放 mp4 视频
- apache-spark - 线程“主”org.apache.spark.sql.AnalysisException 中的异常:路径不存在
- swift - swift 无法将“Plugin.Type”类型的值转换为预期的参数类型“MyClass?”
- android - Paging3-PagingDataAdapter,如何移除item?
- oracle - 测试在 DataGrip 中返回 sys-refcursor 的 Oracle 函数
- angular - fulllcalendar-angular 拖放后如何更新 eventSource 中的一个事件?
- deep-learning - 如何合并两个 ONNX 深度学习模型
- java - 如何将复杂的 Java 集合转换为另一个?
- postgresql - SequelizeConnectionRefusedError: connect ECONNREFUSED 127.0.0.1:5432 when using docker to use sequelize