当前位置: 首页 > news >正文

读书笔记:时间间隔类型:轻松管理时长与时间点

我们的文章会在微信公众号IT民工的龙马人生和博客网站( www.htz.pw )同步更新 ,欢迎关注收藏,也欢迎大家转载,但是请在文章开始地方标注文章出处,谢谢!
由于博客中有大量代码,通过页面浏览效果更佳。

本文为个人学习《Expert Oracle Database Architecture Techniques and Solutions for High Performance and Productivity(第四版本》一书过程中的笔记与理解分享,仅用于学习与交流,部分内容参考原书观点并结合>实际经验进行整理。若涉及版权问题,请联系删除或沟通处理。也请大家支持购买原版书籍。

时间间隔类型:轻松管理时长与时间点

在日常数据库操作中,我们经常需要处理时间间隔或持续时间。Oracle数据库提供了两种非常实用的时间间隔类型,让时间计算变得简单直观。

两种时间间隔类型

  1. 年月至月间隔(YEAR TO MONTH)

    • 适合存储以年和月为单位的时间段
    • 比如:2年6个月、5年11个月
  2. 天至秒间隔(DAY TO SECOND)

    • 适合存储更精确的时间段
    • 包含天、小时、分钟、秒,甚至小数秒
    • 比如:10天2小时3分2.3312秒

实用技巧:提取时间信息

假设我们要计算两个时间点之间的间隔:

-- 计算2000年2月29日与2001年3月15日之间的时间差
SELECT dt2 - dt1 AS 时间间隔
FROM (SELECT TO_TIMESTAMP('2000-02-29 01:02:03.122', 'YYYY-MM-DD HH24:MI:SS.FF') AS dt1,TO_TIMESTAMP('2001-03-15 11:22:33.000', 'YYYY-MM-DD HH24:MI:SS.FF') AS dt2FROM dual
)

得到结果:380天10小时20分29.878秒

使用EXTRACT函数可以轻松提取各个时间单位:

SELECT EXTRACT(DAY FROM dt2-dt1) AS 天数,EXTRACT(HOUR FROM dt2-dt1) AS 小时,EXTRACT(MINUTE FROM dt2-dt1) AS 分钟,EXTRACT(SECOND FROM dt2-dt1) AS 秒数

创建时间间隔的简单方法

  1. 创建年月间隔
-- 5年2个月
SELECT NUMTOYMINTERVAL(5, 'YEAR') + NUMTOYMINTERVAL(2, 'MONTH') FROM dual;-- 或者更简单的方法
SELECT NUMTOYMINTERVAL(5*12 + 2, 'MONTH') FROM dual;
  1. 创建天秒间隔
-- 10天2小时3分2.3312秒
SELECT NUMTODSINTERVAL(10, 'DAY') +NUMTODSINTERVAL(2, 'HOUR') +NUMTODSINTERVAL(3, 'MINUTE') +NUMTODSINTERVAL(2.3312, 'SECOND')
FROM dual;

实际应用场景

  1. 存储具体时间点

    • 比如只需要存储"早上8点"这样的时间
    • 使用DAY TO SECOND类型非常合适
  2. 计算工龄

    • 用YEAR TO MONTH类型计算员工工作年限
    • "3年8个月"这样的表示很直观
  3. 精确计时

    • 体育比赛计时、实验时间记录等
    • 使用DAY TO SECOND类型可以精确到小数秒

简单易用的替代方法

除了使用函数,还可以直接书写:

-- 直接写时间间隔
SELECT INTERVAL '5-2' YEAR TO MONTH FROM dual;    -- 5年2个月
SELECT INTERVAL '10 02:03:02.3312' DAY TO SECOND FROM dual;  -- 10天2小时3分2.3312秒

总结

时间间隔类型让时间计算变得:

  • ✅ 更直观:直接看到年、月、天、时、分、秒
  • ✅ 更精确:支持小数秒级精度
  • ✅ 更简单:内置函数让计算变得轻松
  • ✅ 更灵活:满足各种时间存储和计算需求

无论你是需要计算两个日期之间的差异,还是需要存储特定的时间点,这些时间间隔类型都能提供简单而强大的解决方案。下次处理时间相关数据时,不妨试试这些实用的功能!

------------------作者介绍-----------------------
姓名:黄廷忠
个人博客: (http://www.htz.pw)
CSDN地址: (https://blog.csdn.net/wwwhtzpw)
博客园地址: (https://www.cnblogs.com/www-htz-pw)

http://www.hskmm.com/?act=detail&tid=31631

相关文章:

  • 2025 年最新推荐!除尘器厂家权威排行榜发布,深度解析各品牌技术实力与市场口碑
  • 在浏览器播放多个视频 opencv+Nicegui
  • WSL2内部挂载NFS共享文件夹
  • 2025 年电力金具厂家最新推荐排行榜:覆盖出口 / 玛钢电力金具 / 联板 / 横担等品类,权威解析优质厂家选择方向
  • 达梦定时任务更新阻塞信息到表
  • 左值,右值和移动语义
  • 2025年千斤顶厂家最新权威推荐排行榜:液压千斤顶、机械千斤顶、电动千斤顶源头厂家综合实力深度解析
  • VKD104CR是永嘉微VINKA推出低功耗2路触摸芯片该芯片具有较高的集成度
  • Cookie如何设置HTTPOnly和Secure 以防止XSS跨站脚本攻击
  • STM32学习路线!600+讲课程!软硬件兼修:裸机+RTOS+LVGL+硬件设计+项目实战 (STM32多核心开发板)
  • zerotier自建planet内网穿透详细配置教程 - IT苦行僧
  • 【2025-10-11】适应变化
  • C语言的学习——常量
  • 会充电的CANoe,高效完成即插即充(PnC)智能充电功能测试
  • Bridge 2025超详细保姆级下载安装全教程(含软件下载)
  • legit torrents, legit trackers
  • 2025年锅炉厂家最新权威推荐榜:燃气采暖锅炉/电热水锅炉/生物质锅炉/真空热水锅炉/蒸汽发生器全品类深度解析
  • c语言之对齐函数代码示例
  • PyAutoGUI库自动化测试脚本工具模拟键盘鼠标操作
  • 什么是Barriers IO
  • 2025 年床上用品厂家最新推荐排行榜:从老牌实力到新锐创新的品质之选,涵盖批发与婚嫁选购指南
  • MySQL中NULL值的5个反直觉行为,扭到了吗?
  • 2025 年射线防护服生产厂家最新推荐排行榜:覆盖 X 射线 / 医用 / 中子射线防护服及防护裙、防护屏等品类,为医疗安检领域精选优质品牌
  • 2025 最新阳澄湖大闸蟹权威推荐排行榜,揭秘优质品牌的独特魅力大闸蟹蟹卡 / 大闸蟹礼盒 / 大闸蟹礼券 / 好蟹汇大闸蟹选择指南
  • 碳中和背景下的能源数字化:MyEMS 为企业提供精准碳管理方案
  • 在 VS Code 中集成 LaTeX 环境并创建第一个文档
  • 2025 年月子会所推荐:女王臻瑷专注母婴护理 10 年,西安口碑之选的高端母婴护理服务解析
  • Ai元人文:思想的归乡——从悟空之眼到未来哪吒
  • 国产测试用例管理工具市场格局解析:四大产品如何赋能企业数字化转型
  • 桌面预测类编写,桌面%雷达,信号预测%系统构建,基于python,tk,scikit-learn机器学习算法实现,桌面预支持向量机分类算法,CSV无数据库