You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查询IPS_LIST表中EXPIRE_DATE剩余1小时内到期的记录

可用SQL解决方案

核心筛选逻辑要同时满足两个约束,就能避免远期到期记录被误查:

  • 到期时间晚于当前时间,排除已经过期的记录
  • 到期时间与当前时间的间隔小于1小时

以下是不同数据库的实现语句:

MySQL 版本

SELECT *
FROM IPS_LIST
WHERE EXPIRE_DATE > NOW()
  AND TIMESTAMPDIFF(SECOND, NOW(), EXPIRE_DATE) < 3600
ORDER BY EXPIRE_DATE DESC;

TIMESTAMPDIFF 计算当前时间到到期时间的秒数差,小于3600即剩余时间不足1小时,2099年这类远期到期记录的秒数差远大于3600,不会被命中。

Oracle 版本

SELECT *
FROM IPS_LIST
WHERE EXPIRE_DATE > SYSDATE
  AND (EXPIRE_DATE - SYSDATE) * 86400 < 3600
ORDER BY EXPIRE_DATE DESC;

Oracle中日期相减得到的是天数差,乘以86400(单日总秒数)转换为秒数差,判断小于3600即可。

SQL Server 版本

SELECT *
FROM IPS_LIST
WHERE EXPIRE_DATE > GETDATE()
  AND DATEDIFF(SECOND, GETDATE(), EXPIRE_DATE) < 3600
ORDER BY EXPIRE_DATE DESC;

用DATEDIFF计算当前时间到到期时间的秒数差,配合到期时间晚于当前时间的约束,即可精准筛选目标记录。


内容的提问来源于stack exchange,提问作者kkami-sama

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 12:30:05