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

SQL查询需求:筛选出借表中含当日且截至15:00的有效记录

调整SQL查询以满足日期时间范围需求

原SQL语句存在逻辑错误(将固定日期与当前时间比较,且判断方向颠倒),以下是调整后的语句,可实现仅显示不早于昨天日期,且当日记录截至15:00的需求:

假设表中存储出借时间的字段为LendingDateTime(日期时间类型),调整后SQL如下:

SELECT *
FROM dbo.Lending
WHERE
    -- 筛选日期不早于昨天的记录
    CAST(LendingDateTime AS DATE) >= DATEADD(DAY, -1, CAST(GETDATE() AS DATE))
    -- 对当日记录额外限制时间不超过15:00
    AND (
        CAST(LendingDateTime AS DATE) <> CAST(GETDATE() AS DATE)
        OR LendingDateTime <= DATEADD(HOUR, 15, CAST(CAST(GETDATE() AS DATE) AS DATETIME))
    )

逻辑说明:

  • DATEADD(DAY, -1, CAST(GETDATE() AS DATE)):获取昨天的零点日期,确保记录的日期部分不早于昨天。
  • 第二个条件分支:
    • 若记录日期不是今天,直接通过筛选;
    • 若是今天的记录,将其与「当日15:00」时间点对比,仅保留时间不晚于15:00的记录。

如果表中日期与时间是分开存储的(比如LendDate为日期类型,LendTime为时间类型),可调整为:

SELECT *
FROM dbo.Lending
WHERE
    LendDate >= DATEADD(DAY, -1, CAST(GETDATE() AS DATE))
    AND (
        LendDate <> CAST(GETDATE() AS DATE)
        OR LendTime <= CAST('15:00:00' AS TIME)
    )

内容的提问来源于stack exchange,提问作者xcrean

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 07:18:20