我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Oracle计算时间差常用函数

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Oracle计算时间差常用函数

Oracle计算时间差常用函数
两个Date类型字段:START_DATE,END_DATE,计算这两个日期的时间差(分别以天,小时,分钟,秒,毫秒):
天:
ROUND(TO_NUMBER(END_DATE - START_DATE))


ROUND(TO_NUMBER(END_DATE - START_DATE) * 24)


ROUND(TO_NUMBER(END_DATE - START_DATE) * 24 * 60)


ROUND(TO_NUMBER(END_DATE - START_DATE) * 24 * 60 * 60)

毫秒
ROUND(TO_NUMBER(END_DATE - START_DATE) * 24 * 60 * 60 * 1000)


十分钟前
select  sysdate -10/(60*24)   from dual 

select
status,
continued_time,
sid,
sql_id,
username,
FIRST_REFRESH_TIME,
LAST_REFRESH_TIME,
SQL_TEXT,
ERROR_NUMBER,
ERROR_MESSAGE
from
(
select
status,
ROUND(TO_NUMBER(LAST_REFRESH_TIME - FIRST_REFRESH_TIME) * 24 * 60 * 60 ) as continued_time ,
sid,
sql_id,
username,
FIRST_REFRESH_TIME,
LAST_REFRESH_TIME,
SQL_TEXT,
ERROR_NUMBER,
ERROR_MESSAGE,
row_number() OVER(PARTITION BY sql_id ORDER BY t.LAST_REFRESH_TIME desc) as row_flg
from
gv$sql_monitor t
----where t.LAST_REFRESH_TIME > sysdate -10/(60*24) ------采集当前时间10分钟内的
)
temp
where temp.row_flg=1

Oracle去除重复(某一列的值重复),取最新(日期字段最新)的一条数据

解决思路:用Oracle的row_number() over函数来解决该问题。
解决过程:
 1.查看表中的重复记录
select
    t.id,
    t.device_id,
    t.update_dtm,
    t.test_result
from DEVICE_INFO_TBL t


2.标记重复的记录
select
    t.id,
    t.device_id,
    t.update_dtm,
    t.test_result,
    row_number() OVER(PARTITION BY device_id ORDER BY t.update_dtm desc) as row_flg  
from DEVICE_INFO_TBL t


3.过滤重复数据,取得最新的记录
select
    temp.id,
    temp.device_id,
    temp.update_dtm,
    temp.test_result
from (
         select
             t.id,
             t.device_id,
             t.update_dtm,
             t.test_result,
             row_number() OVER(PARTITION BY device_id ORDER BY t.update_dtm desc) as row_flg  
          from DEVICE_INFO_TBL t ) temp
where temp.row_flg  = '1'


row_number() OVER (PARTITION BY COL1 ORDER BY COL2) 表示根据COL1分组,在分组内部根据 COL2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的).
与rownum的区别在于:使用rownum进行排序的时候是先对结果集加入伪列rownum然后再进行排序,而此函数在包含排序从句后是先排序再计算行号码.
row_number()和rownum差不多,功能更强一点(可以在各个分组内从1开时排序).
rank()是跳跃排序,有两个第二名时接下来就是第四名(同样是在各个分组内).
dense_rank()l是连续排序,有两个第二名时仍然跟着第三名。相比之下row_number是没有重复值的 .
lag(arg1,arg2,arg3):
arg1是从其他行返回的表达式
arg2是希望检索的当前行分区的偏移量。是一个正的偏移量,时一个往回检索以前的行的数目。
arg3是在arg2表示的数目超出了分组的范围时返回的值。


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Oracle计算时间差常用函数

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

oracle如何计算时间差

在Oracle中,可以使用以下函数来计算时间差:使用DATEDIFF函数:DATEDIFF函数可以计算两个日期之间的时间差,单位可以是天、小时、分钟等。例如:SELECT DATEDIFF('2022-01-01', &
oracle如何计算时间差
2024-04-09

VB计算两个日期/时间之间的差(DateDiff函数)

在VB中,可以使用`DateDiff`函数来计算两个日期/时间之间的差值。该函数的语法如下:```vbDateDiff(interval, date1, date2, [firstdayofweek], [firstweekofyear])
2023-09-16

postgresql计算两个时间相差天数

1.date_part,可以算出相差的天数,结果向下取整,括号里面的参数可以改成year、month、hour、minutes等,值得注意的是,改成对应的参数,是用相应的时间减去时间,例如用hour的话,计算出来的结果时15-10的值,并不是两个时间想减得到的
postgresql计算两个时间相差天数
2019-03-10

C# 计算DataTime的4种时间差的方法(相差天数、相差小时、相差分钟、相差秒)

这篇文章主要介绍了C# 计算DataTime的4种时间差(相差天数、相差小时、相差分钟、相差秒),本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
2023-05-20

怎么利用moment处理时间戳并计算时间的差值

这篇“怎么利用moment处理时间戳并计算时间的差值”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么利用moment处理时
2023-06-30

怎么在python中使用datime包计算时间差

这篇文章将为大家详细讲解有关怎么在python中使用datime包计算时间差,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。python有哪些常用库python常用的库:1.requesuts
2023-06-14

如何用java计算两个时间相差多少小时

最近工作中遇到需要计算时间差,下面这篇文章主要给大家介绍了关于如何用java计算两个时间相差多少小时的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
2022-12-24

linux是否有计算时间的函数

这篇“linux是否有计算时间的函数”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“linux是否有计算时间的函数”文章吧。
2023-04-20

Mysql 常用时间函数(上)

也是做数据分析嘛, SQL 必然是每天都要用的, 然后在分析中, 时间是数据分析中极为重要的部分, 可以说是承上启下或者是贯穿整个分析. 比如, 日, 周, 月, 季度, 年度 与之相对应的 环比, 同比 等基础指标都是与时间相关的, 其重要性可见一斑. 虽
Mysql 常用时间函数(上)
2014-09-11

Python实现计算两个时间之间相差天数的方法

本文实例讲述了Python实现计算两个时间之间相差天数的方法。分享给大家供大家参考,具体如下:#-*- encoding:UTF-8 -*- from datetime import date import time nowtime = d
2022-06-04

如何使用批处理bat计算两个时间差

本篇内容主要讲解“如何使用批处理bat计算两个时间差”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用批处理bat计算两个时间差”吧!这个是脚本代码[保存为etime.bat放在当前路径下即
2023-06-08

MySQL 计算两个日期/时间之间相差的天数、分钟数、秒数...

MySQL 中经常遇到计算两个日期或者时间之间相差的天数、周数、小时数、分钟、秒等等,下面分享一个MySQL内置的函数:TimeStampDiff() 这个函数是MySQL本身提供的可以计算两个时间间隔的函数。 语法: TIMESTAMPD
2023-08-16

编程热搜

目录