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

WHERE条件中OR子句查询日期数据无法正确获取问题求助

问题排查点

  • 缺失关联表:当前查询FROM子句仅声明了RT_TRANSAPORT表(别名RT),但WHERE条件中使用了别名FU的字段,FU对应的表没有通过JOIN语句引入,会直接触发SQL语法错误。
  • 日期匹配逻辑缺陷:如果你的日期字段包含时分秒,BETWEEN TO_DATE('08/11/2021','dd/mm/yyyy') AND TO_DATE('08/11/2021','dd/mm/yyyy')实际仅能匹配到2021年11月8日00:00:00的记录,当天其他时间段的数据会全部被过滤。
  • 疑似拼写错误:表名RT_TRANSAPORT疑似拼写错误,标准拼写应为RT_TRANSPORT,如果实际表名是后者也会触发表不存在的报错。
  • 条件逻辑不符需求:你提到需要符合三个不同日期条件,但当前写了4个OR拼接的日期条件,需确认是否多写了过滤规则。

修正后参考SQL

SELECT tr_name
FROM RT_TRANSPORT RT
-- 补充FU表的关联逻辑,此处用LEFT JOIN举例,根据实际需求调整JOIN类型和关联条件
LEFT JOIN 你对应的FU表名 FU ON RT.关联字段 = FU.关联字段
WHERE
TRUNC(RT.TR_DATE) = TO_DATE('08/11/2021','dd/mm/yyyy')
OR
TRUNC(RT.KM_DATE) = TO_DATE('08/11/2021','dd/mm/yyyy')
OR
TRUNC(FU.TY_DATE) = TO_DATE('08/11/2021','dd/mm/yyyy')
-- 如果确实只需要三个条件,删除多余的第四个条件即可
OR
TRUNC(FU.AT_DATE) = TO_DATE('08/11/2021','dd/mm/yyyy')

如果不想用TRUNC函数(避免字段上的索引失效),也可以把日期范围改成BETWEEN TO_DATE('08/11/2021','dd/mm/yyyy') AND TO_DATE('09/11/2021','dd/mm/yyyy') - 1/86400,覆盖当天全部时分秒的记录。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 10:00:05