Oracle计算时间差为毫秒的实现代码

发布时间 - 2026-01-11 00:22:19    点击率:

Oracle 中我们知道用 TO_DATE 函数可以进行秒、分、时、天、月、年、周等时间差的计算,但是毫秒却不好计算,TO_DATE 函数只能精确到秒,毫秒则只能用 TO_TIMESTAMP 函数,但是这个函数不像 TO_DATE 这样直接减出来的差值就是 NUMBER 类型,如果用 TO_NUMBER 函数转换也会报错。

这里我是用分隔字符串单独计算毫秒部分,如果有更好的办法,请大家分享一下,下面是查询时间差为毫秒的模板(字段1 – 字段2):

SELECT 
(
 (
  (TO_TIMESTAMP(字段1, 'YYYY-MM-DD HH24:MI:SS.FF9') + 0)
  -
  (TO_TIMESTAMP(字段2, 'YYYY-MM-DD HH24:MI:SS.FF9') + 0)
 ) * 24 * 60 * 60
 +
 TO_NUMBER
 (
  '0' ||
  (
    TO_NUMBER(SUBSTR(字段1, INSTR(字段1, '.'))) 
    - 
    TO_NUMBER(SUBSTR(字段2, INSTR(字段2, '.')))
  )
 )
) * 1000
FROM 表名

这里是相差的毫秒数,如果需要显示小数的秒请删除 “( ) * 1000”这部分,下面是个测试代码,直接运行:

SELECT 
(
 (
  (TO_TIMESTAMP('2016-04-13 17:13:50.998', 'YYYY-MM-DD HH24:MI:SS.FF9') + 0)
  -
  (TO_TIMESTAMP('2016-04-13 17:13:47.235', 'YYYY-MM-DD HH24:MI:SS.FF9') + 0)
 ) * 24 * 60 * 60
 +
 TO_NUMBER
 (
  '0' ||
  (
    TO_NUMBER(SUBSTR('2016-04-13 17:13:50.998', INSTR('2016-04-13 17:13:50.998', '.'))) 
    - 
    TO_NUMBER(SUBSTR('2016-04-13 17:13:47.235', INSTR('2016-04-13 17:13:50.235', '.')))
  )
 )
) * 1000
FROM DUAL

结果为:3763


# Oracle  # 时间差  # Oracle计算时间差常用函数  # 我是  # 是个  # 也会  # 请大家  # 这部  # 不像  # 报错  # 只能用  # class  # MM  # brush  # SELECT  # sql  # YYYY  # NUMBER  # TO_TIMESTAMP  # TO_DATE  # pre  # TO_NUMBER 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 软银砸40亿美元收购DigitalBridge 强化AI资料中心布局  Laravel怎么清理缓存_Laravel optimize clear命令详解  Windows家庭版如何开启组策略(gpedit.msc)?(安装方法)  canvas 画布在主流浏览器中的尺寸限制详细介绍  Python制作简易注册登录系统  为什么要用作用域操作符_php中访问类常量与静态属性的优势【解答】  如何快速搭建高效简练网站?  Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】  深圳网站制作平台,深圳市做网站好的公司有哪些?  敲碗10年!Mac系列传将迎来「触控与联网」双革新  HTML5打空格有哪些误区_新手常犯的空格使用错误【技巧】  使用PHP下载CSS文件中的所有图片【几行代码即可实现】  微信小程序 配置文件详细介绍  Android实现代码画虚线边框背景效果  魔方云NAT建站如何实现端口转发?  Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】  Laravel如何实现多对多模型关联?(Eloquent教程)  ,交易猫的商品怎么发布到网站上去?  网站制作壁纸教程视频,电脑壁纸网站?  宙斯浏览器文件分类查看教程 快速筛选视频文档与图片方法  Python图片处理进阶教程_Pillow滤镜与图像增强  Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】  如何在VPS电脑上快速搭建网站?  Laravel路由Route怎么设置_Laravel基础路由定义与参数传递规则【详解】  Angular 表单中正确绑定输入值以确保提交与验证正常工作  Laravel如何使用Eloquent ORM进行数据库操作?(CRUD示例)  如何在 React 中条件性地遍历数组并渲染元素  Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】  Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明  JavaScript如何实现音频处理_Web Audio API如何工作?  瓜子二手车官方网站在线入口 瓜子二手车网页版官网通道入口  手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?  Swift开发中switch语句值绑定模式  Laravel Eloquent关联是什么_Laravel模型一对一与一对多关系精讲  如何在IIS中新建站点并解决端口绑定冲突?  太平洋网站制作公司,网络用语太平洋是什么意思?  如何快速搭建虚拟主机网站?新手必看指南  Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】  b2c电商网站制作流程,b2c水平综合的电商平台?  HTML透明颜色代码在Angular里怎么设置_Angular透明颜色使用指南【详解】  Laravel如何处理文件下载请求?(Response示例)  Laravel如何使用Laravel Vite编译前端_Laravel10以上版本前端静态资源管理【教程】  如何在IIS7上新建站点并设置安全权限?  香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南  Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】  Java解压缩zip - 解压缩多个文件或文件夹实例  如何在 Pandas 中基于一列条件计算另一列的分组均值  Android okhttputils现在进度显示实例代码  Laravel辅助函数有哪些_Laravel Helpers常用助手函数大全  Bootstrap整体框架之JavaScript插件架构