sql-server - 在sql存储过程中查找创建日期和更新日期之间的最新日期
问题描述
我的表中有两列作为创建日期和更新日期。我想从中找到最新的日期。我想考虑最新的日期并从输入值中过滤它。
我目前的查询是:-
Select *
from Emp E
WHERE (E.USERID=@UserID) and (E.CDATE >= @FromDate AND E.CDATE <= @ToDate) order by qdate desc
解决方案
您可以使用系统日期减去 fromDate 和 toDate 以找到最新日期。通过使用案例,您可以根据最新日期进行过滤。像:
SELECT *
FROM Emp E
WHERE ( E.USERID = @UserID )
AND E.CDATE = CASE WHEN @fromdate - GETDATE() > @toDate - GETDATE()
THEN @fromdate
ELSE @toDate
END;
要查找两个日期之间的最新日期,您可以使用下面的脚本参考。
DECLARE @fromdate DATETIME, @toDate DATETIME, @date DATETIME
SET @fromdate = '2019-04-05'
SET @toDate = '2019-05-05'
SET @date = CASE WHEN @fromdate - GETDATE() > @toDate - GETDATE() THEN @fromdate
ELSE @toDate
END;
SELECT @date;
推荐阅读
- php - 使用 dompdf 生成 PDF 并在分页后的第一个 tr 中获取空白空间
- python - 在 for 循环中输入错误消息时遇到问题。[输入最多 1 个参数,得到 3 个]
- gstreamer - 在 Gstream WebRTCBin 中设置多转服务器
- python - 逐行外加
- p5.js - 在一个形状中混合顶点和曲线顶点?
- owl - 如何使用本体对齐将实例从一个本体转移到另一个(Abox 到 Tbox)
- matlab - AGI STK Matlab 接口
- kubernetes - 在没有 kubectl 的情况下使用 Kubernetes REST API
- numpy - Python OpenCV在同一图像中复制透明形状
- flutter - 使用 Flutter 使用 rest API 列出信息时出错