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

Oracle数据库DATE类型数据非包含式查询:提取14号数据

Oracle SQL:非包含式日期范围查询提取指定日期数据

嘿,针对你要从Oracle表里提取REQUEST_DATE为14/04/18的数据的需求,用非包含式的日期范围查询是最稳妥的做法——毕竟Oracle的DATE类型自带时分秒信息,直接用=匹配的话,只会抓当天00:00:00的记录,漏掉那些带具体时间的行可就麻烦了。

直接上可用的SQL语句(记得把your_table_name替换成你的实际表名):

SELECT ID, REFERENCE, REQUEST_DATE
FROM your_table_name
WHERE REQUEST_DATE >= TO_DATE('14/04/18', 'DD/MM/YY')
  AND REQUEST_DATE < TO_DATE('15/04/18', 'DD/MM/YY');

为什么这么写?

  • 用>= TO_DATE('14/04/18', 'DD/MM/YY')匹配14/04/18当天00:00:00及之后的所有记录
  • 用< TO_DATE('15/04/18', 'DD/MM/YY')匹配15/04/18当天00:00:00之前的所有记录
  • 这样就精准覆盖了14/04/18一整天的所有数据,不管REQUEST_DATE里的时分秒是什么值,而且完全符合你要求的非包含式日期范围查询(没有用=直接匹配日期)

另外提一句,有人会用TRUNC函数来处理日期,但这种写法如果REQUEST_DATE字段上建有索引的话,会导致索引失效,影响查询效率,所以更推荐上面的范围查询写法:

-- 不推荐(可能影响索引使用),仅作参考
SELECT ID, REFERENCE, REQUEST_DATE
FROM your_table_name
WHERE TRUNC(REQUEST_DATE) = TO_DATE('14/04/18', 'DD/MM/YY');

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 03:47:36