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

如何在Oracle SQL Developer中用SQL查询获取当日数据

获取Oracle中Record_details表当日数据的查询方法

你的表Record_details使用Oracle的TIMESTAMP(6)类型存储日期时间,直接用Date = '?'无法匹配(因为TIMESTAMP包含时分秒信息),以下是几种可行的查询写法:

方法1:截断时间部分匹配日期

用TRUNC()函数去除时间戳的时分秒部分,仅保留日期进行对比:

SELECT * FROM Record_details 
WHERE TRUNC(Date) = TRUNC(SYSDATE);

TRUNC(SYSDATE)获取当前系统日期的纯日期部分,TRUNC(Date)将每条记录的时间戳转为纯日期,两者相等即表示是当日数据。

方法2:日期范围查询(推荐,性能更优)

如果Date字段建有索引,这种写法可以利用索引提升查询效率:

SELECT * FROM Record_details 
WHERE Date >= TRUNC(SYSDATE) 
  AND Date < TRUNC(SYSDATE) + INTERVAL '1' DAY;

该语句查询从当日0点整到次日0点前的所有数据,覆盖当日所有时间戳记录。

方法3:格式化字符串匹配

将时间戳格式化为日期字符串后,与当日日期字符串对比:

SELECT * FROM Record_details 
WHERE TO_CHAR(Date, 'YYYY-MM-DD') = TO_CHAR(SYSDATE, 'YYYY-MM-DD');

注意:这种写法会使Date字段的索引失效,数据量大时不推荐使用。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 12:27:40