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

news/2025/10/15 16:00:33/文章来源:https://www.cnblogs.com/www-htz-pw/p/19143598

我们的文章会在微信公众号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.mzph.cn/news/937606.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025 年最新推荐!除尘器厂家权威排行榜发布,深度解析各品牌技术实力与市场口碑

当前工业领域对环保要求持续提升,除尘器作为控制粉尘排放、保障环境达标排放的核心设备,其质量与性能直接影响企业生产合规性与运营成本。然而市场上除尘器品牌数量众多,产品质量参差不齐,部分品牌存在除尘效率低、…

实用指南:【Git】项目管理全解

实用指南:【Git】项目管理全解2025-10-15 15:57 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !importa…

在浏览器播放多个视频 opencv+Nicegui

效果图代码: from nicegui import ui, native import cv2 import numpy as np import base64 import time import threading import osclass VideoStream:"""单个视频流管理类"""def _…

WSL2内部挂载NFS共享文件夹

启动NFS服务端 sudo systemctl start nfs-server 编辑/etc/exports可以新增共享目录,下面是例子 # /etc/exports: the access control list for filesystems which may be exported # to NFS clients. See exports(…

2025 年电力金具厂家最新推荐排行榜:覆盖出口 / 玛钢电力金具 / 联板 / 横担等品类,权威解析优质厂家选择方向

引言当前电力行业快速发展,电力金具作为电力输送系统的核心部件,其质量直接影响电力供应的安全与稳定。但市场上电力金具品牌繁杂,既有深耕多年的老牌企业,也有新兴厂商,产品质量、工艺水平、服务能力差异显著,采…

达梦定时任务更新阻塞信息到表

数据库阻塞,一些原因,查不到历史的阻塞信息。配置存储过程,把一些阻塞信息更新到表,然后配置定时任务,定时更新--STEP1:创建辅助记录表: CREATE TABLE TRX_WAIT("STATTIME" TIMESTAMP,"SS" …

左值,右值和移动语义

左值、右值和移动语义 左值和右值 C++的表达式分为左值表达式和右值表达式,右值又分为纯右值和将亡值。 左值和右值的定义:指代非临时对象且不可移动的表达式被称为左值表达式;当对象被用左值时,被使用的是对象的身…

2025年千斤顶厂家最新权威推荐排行榜:液压千斤顶、机械千斤顶、电动千斤顶源头厂家综合实力深度解析

2025年千斤顶厂家最新权威推荐排行榜:液压千斤顶、机械千斤顶、电动千斤顶源头厂家综合实力深度解析行业背景与发展趋势千斤顶作为工业领域不可或缺的起重设备,其技术发展与制造业升级息息相关。随着基础设施建设的持…

VKD104CR是永嘉微VINKA推出低功耗2路触摸芯片该芯片具有较高的集成度

VKD104CR是2通道触摸检测芯片,功耗低、工作电压范围宽以及稳定的触摸检测效果可以广泛的满足不同应用的需求,此触摸检测芯片是专为取代传统按键而设计,内建稳压电路,提供稳定电压给触摸检测电路使用,触摸检测PAD的…

Cookie如何设置HTTPOnly和Secure 以防止XSS跨站脚本攻击

设置HttpOnly和Secure标志于Cookie中是增强Web应用安全性的重要措施。这两个标志帮助防止跨站脚本攻击(XSS)和中间人攻击(MitM)。下面是关于如何设置这些标志的具体步骤: PHP: 在发送cookie时使用setcookie()函数…

STM32学习路线!600+讲课程!软硬件兼修:裸机+RTOS+LVGL+硬件设计+项目实战 (STM32多核心开发板)

私信小编,备注“103开发板”,免费领取教程/源码/项目资料~ 在智能设备深度整合与万物互联加速推进的当下,STM32正从单一功能控制走向复杂系统集成。从智能家居的精准传感控制到工业物联网的实时数据采集,从AIoT终端…

Vue中展示字符串,有换行符的怎么换行展示

Vue中展示字符串,有换行符的怎么换行展示1 简介 1)字符串带了换行符 "你好\r\nhello\r\nworld" 2)使用{{}}直接展示{{rowdetail.lastWeekContent}} 3)展示效果发现没有换行 2 处理 1)使用<pre&g…

zerotier自建planet内网穿透详细配置教程 - IT苦行僧

zerotier自建planet内网穿透详细配置教程 配置过程,遇到不懂的问题,可以直接复制代码或者报错信息给AI,帮助你答疑解惑。 前言 本文使用Zerotier,这个软件官方也提供免费通道,但是很不稳定,所以本文是自建Planet…

【2025-10-11】适应变化

20:00劳作是眼能看见的爱。如果你进行劳作时不是满怀着爱,而是带着厌恶心里,还不如丢下工作,到庙门去等待高高兴兴劳作者们的周济——纪伯伦人性最厌讨的事物之一就是变化。但是,人类的发展只能依靠变化。所以,克…

C语言的学习——常量

常量的输出方式有四种 1.第一种是输出整数整数的输出需要用d来表示占位符 2.第二种是输出小数小数的输出需要用f来表示占位符 3.第三种是输出字符字符的输出需要用c来表示占位符,同时也需要用引号来引注输出的内容 4.…

会充电的CANoe,高效完成即插即充(PnC)智能充电功能测试

ISO 15118-2标准中描述的PnC功能,可以实现插枪即充电,识别、计费信息、充电参数都通过高级别通信在EV和EVSE之间自动交换。简化了电动汽车的充电过程,提高了用户体验,为电动汽车行业带来了更智能、更便捷的充电解决…

Bridge 2025超详细保姆级下载安装全教程(含软件下载)

目录一、Adobe Bridge 2025 软件介绍二、Adobe Bridge 2025 下载方式三、Adobe Bridge 2025 详细安装步骤步骤 1:解压 Bridge 2025 安装包步骤 2:以管理员身份运行安装程序步骤 3:选择是否修改安装路径步骤 4:自定…

legit torrents, legit trackers

http://www.legittorrents.info/ is dead.but that site recommends the following ones:PlaneShift Revision3 gameupdates.org vodo.net Pure Pwnage Cube 2: Sauerbraten Linuxtracker Public Domain Torrents

python 数学计算 32位精度

from decimal import Decimal, getcontext# Set precision high enough to handle 32 decimal places getcontext().prec = 50# Calculate step by step result = Decimal(20) / Decimal(6) / Decimal(3) / Decimal(3)…

2025年锅炉厂家最新权威推荐榜:燃气采暖锅炉/电热水锅炉/生物质锅炉/真空热水锅炉/蒸汽发生器全品类深度解析

2025年锅炉厂家最新权威推荐榜:燃气采暖锅炉/电热水锅炉/生物质锅炉/真空热水锅炉/蒸汽发生器全品类深度解析行业背景与发展趋势锅炉作为工业生产与民用供热领域的核心设备,其技术发展与市场需求正经历深刻变革。随着…