oracle计算时间差,某年某月某日某时某分,如剩余1天05小时3分

本文主要是介绍oracle计算时间差,某年某月某日某时某分,如剩余1天05小时3分,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在 oracle 计算两个时间差 换算成  xx天xx时xx分xx秒 的形式

在百度之后 发现 这两个 to_timestamp 和 extract 函数是比较合适的

准换时要用 to_timestamp 不要 用to_date

区别是:由于oracle中date类型只支持到秒,不支持到毫秒,所以to_date()不能取到毫秒。如果要取到毫秒,oracle 9i以上版本,可以使用timestamp类型,timestamp是date的扩展类型,能支持到毫秒,毫秒的显示精度是6位,不过有效位是3位,即最大值达到999,满1000ms就进为1s。而与to_date()对应的转换函数可以使用to_timestamp()。两个date相减得到是两个时间的间隔,单位是天,两个timestamp相减的话,不能直接的得到天数,而是得到多少天,多少小时,多少秒,多少毫秒等。

   select (sysdate-to_date('2017-11-01 00:00:00','yyyy-mm-dd hh24:mi:ss')) date相减 from dual;输出是: 804.753923611111select (systimestamp-to_timestamp('2017-11-01 00:00:00','yyyy-mm-dd hh24:mi:ss')) timestamp相减 from dual;输出是:+000000804 18:05:39.344376000

时间差,转换 xx天xx时xx分xx秒  如下:

selectextract (day from dt2 - dt1) ||'天'||extract (hour from dt2 - dt1) ||'小时'||extract (minute from dt2 - dt1) ||'分钟'||extract (second from dt2 - dt1) ||'秒' as 时间差
from
( select to_timestamp ('2020-01-05 15:51:50','yyyy-mm-dd hh24:mi:ss') dt1,to_timestamp ('2020-01-14 17:30:30','yyyy-mm-dd hh24:mi:ss') dt2from dual
)输出结果: 9天1小时38分钟40秒

也可以使用with temp as

with t as (
select to_timestamp('2020-01-05 15:51:50','yyyy-mm-dd hh24:mi:ss') -to_timestamp('2020-01-14 17:30:30','yyyy-mm-dd hh24:mi:ss') as datec
from dual
)
select extract(day from datec)||'天'||extract(hour from datec)||'小时'||extract(minute from datec)||'分钟'||extract(second from datec)||'秒' as 时间差 
from t;输出结果: -9天-1小时-38分钟-40秒

 

这篇关于oracle计算时间差,某年某月某日某时某分,如剩余1天05小时3分的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/748911

相关文章

poj 1113 凸包+简单几何计算

题意: 给N个平面上的点,现在要在离点外L米处建城墙,使得城墙把所有点都包含进去且城墙的长度最短。 解析: 韬哥出的某次训练赛上A出的第一道计算几何,算是大水题吧。 用convexhull算法把凸包求出来,然后加加减减就A了。 计算见下图: 好久没玩画图了啊好开心。 代码: #include <iostream>#include <cstdio>#inclu

uva 1342 欧拉定理(计算几何模板)

题意: 给几个点,把这几个点用直线连起来,求这些直线把平面分成了几个。 解析: 欧拉定理: 顶点数 + 面数 - 边数= 2。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#inc

uva 11178 计算集合模板题

题意: 求三角形行三个角三等分点射线交出的内三角形坐标。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#include <stack>#include <vector>#include <

XTU 1237 计算几何

题面: Magic Triangle Problem Description: Huangriq is a respectful acmer in ACM team of XTU because he brought the best place in regional contest in history of XTU. Huangriq works in a big compa

AI Toolkit + H100 GPU,一小时内微调最新热门文生图模型 FLUX

上个月,FLUX 席卷了互联网,这并非没有原因。他们声称优于 DALLE 3、Ideogram 和 Stable Diffusion 3 等模型,而这一点已被证明是有依据的。随着越来越多的流行图像生成工具(如 Stable Diffusion Web UI Forge 和 ComyUI)开始支持这些模型,FLUX 在 Stable Diffusion 领域的扩展将会持续下去。 自 FLU

忽略某些文件 —— Git 学习笔记 05

忽略某些文件 忽略某些文件 通过.gitignore文件其他规则源如何选择规则源参考资料 对于某些文件,我们不希望把它们纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。通常它们都是些自动生成的文件,比如日志文件、编译过程中创建的临时文件等。 通过.gitignore文件 假设我们要忽略 lib.a 文件,那我们可以在 lib.a 所在目录下创建一个名为 .gi

音视频入门基础:WAV专题(10)——FFmpeg源码中计算WAV音频文件每个packet的pts、dts的实现

一、引言 从文章《音视频入门基础:WAV专题(6)——通过FFprobe显示WAV音频文件每个数据包的信息》中我们可以知道,通过FFprobe命令可以打印WAV音频文件每个packet(也称为数据包或多媒体包)的信息,这些信息包含该packet的pts、dts: 打印出来的“pts”实际是AVPacket结构体中的成员变量pts,是以AVStream->time_base为单位的显

Oracle type (自定义类型的使用)

oracle - type   type定义: oracle中自定义数据类型 oracle中有基本的数据类型,如number,varchar2,date,numeric,float....但有时候我们需要特殊的格式, 如将name定义为(firstname,lastname)的形式,我们想把这个作为一个表的一列看待,这时候就要我们自己定义一个数据类型 格式 :create or repla

ORACLE 11g 创建数据库时 Enterprise Manager配置失败的解决办法 无法打开OEM的解决办法

在win7 64位系统下安装oracle11g,在使用Database configuration Assistant创建数据库时,在创建到85%的时候报错,错误如下: 解决办法: 在listener.ora中增加对BlueAeri-PC或ip地址的侦听,具体步骤如下: 1.启动Net Manager,在“监听程序”--Listener下添加一个地址,主机名写计

Oracle Start With关键字

Oracle Start With关键字 前言 旨在记录一些Oracle使用中遇到的各种各样的问题. 同时希望能帮到和我遇到同样问题的人. Start With (树查询) 问题描述: 在数据库中, 有一种比较常见得 设计模式, 层级结构 设计模式, 具体到 Oracle table中, 字段特点如下: ID, DSC, PID; 三个字段, 分别表示 当前标识的 ID(主键), DSC 当