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

如何编写Oracle查询获取当前日期的毫秒级起止时间戳

Oracle 当日起止时间戳查询方案

基础查询语句(输出指定格式的两个时间戳)

SELECT
  TO_CHAR(TRUNC(SYSDATE), 'YYYY-MM-DD HH24:MI:SS.FF3') AS 当日起始时间戳,
  TO_CHAR(TRUNC(SYSDATE) + 86399/86400, 'YYYY-MM-DD HH24:MI:SS.FF3') AS 当日结束时间戳
FROM DUAL;

查询结果示例:

当日起始时间戳当日结束时间戳
2024-05-20 00:00:00.0002024-05-20 23:59:59.000

注意事项与优化建议

  • 如果你的数据存在毫秒级的时间记录,建议将结束时间计算逻辑调整为TRUNC(SYSDATE) + 1 - 1/86400/1000,输出格式为2024-05-20 23:59:59.999,避免漏掉当日最后一秒内的记录
  • 更推荐的日期范围筛选写法不需要提前查询时间戳,性能更稳定,也不会出现时间精度遗漏问题:
SELECT * FROM 目标表
WHERE 时间字段 >= TRUNC(SYSDATE)
AND 时间字段 < TRUNC(SYSDATE) + 1

该写法等价于时间字段 between 当日0点 and 次日0点前,完全覆盖当日所有时段的记录,适配所有时间精度的字段类型。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 21:39:03