oracle俩个日期的差,oracle计算两个日期的时间差时分秒

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 ROUND(TO_NUMBER(to_date(to_char(sysdate,'yyyy-MM-dd hh24:mi:ss'),'yyyy-MM-dd hh24:mi:ss') - to_date('2012-05-11 10:37:40','yyyy-MM-dd hh24:mi:ss'))*24*60*60) from dual .

select ROUND(TO_NUMBER(to_date(to_char(sysdate,'yyyy-MM-dd hh24:mi:ss'),'yyyy-MM-dd hh24:mi:ss')

- to_date('2013-01-16 00:00:00','yyyy-MM-dd hh24:mi:ss'))*24*60*60) from dual

to_date如何取得毫秒? 由于oracle中date类型只支持到秒,不支持到毫秒,所以to_date()不能取到毫秒。 如果要取到毫秒,oracle 9i以上版本,可以使用timestamp类型,是date的扩展类型,能支持到毫秒,毫秒的显示精度是6位,不过有效位是3位,即最大值达到999,满1000ms就进为1s。而与to_date()对应的转换函数可以使用to_timestamp()。 select to_timestamp('2011-12-15 10:40:10.345', 'yyyy-MM-dd HH24:MI:ss.ff') as mydate from dual; 如果想将timestamp又转换成date类型,可以使用cast()函数,但得到的date类型没有了毫秒值。如下: select cast(to_timestamp('2011-12-15 10:40:10.345', 'yyyy-MM-dd HH24:MI:ss.ff') as date) as mydate from dual;

mysql中计算两个日期的时间差函数TIMESTAMPDIFF用法

mysql中计算两个日期的时间差函数TIMESTAMPDIFF用法: 语法: TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2) 说明: 返回日 ...

MySql计算两个日期的时间差函数

MySql计算两个日期时间的差函数: 第一种:TIMESTAMPDIFF函数,需要传入三个参数,第一个是比较的类型,可以比较FRAC_SECOND.SECOND. MINUTE. HOUR. DAY. ...

Oracle 计算两个日期间隔的天数、月数和年数

在Oracle中计算两个日期间隔的天数.月数和年数: 一.天数: 在Oracle中,两个日期直接相减,便可以得到天数: select to_date('08/06/2015','mm/dd/yyyy' ...

PHP计算两个时间戳之间间隔时分秒

/功能:计算两个时间戳之间相差的日时分秒//$begin_time 开始时间戳//$end_time 结束时间戳function timediff($begin_time,$end_time){ if ...

JavaScript计算两个日期的时间差

/** * * @param startTime * @param endTime * @param diffType * @returns {Number|number} * @constructo ...

php计算两个日期时间差(返回年、月、日)

在PHP程序中,很多时候都会遇到处理时间的问题,比如:判断用户在线了多长时间,共登录了多少天,两个帖子发布的时间差或者是不同操作之间的日志记录等等.在文章中,简单地举例介绍了PHP中如何计算两个日期相 ...

C#计算两个时间的时间差,精确到年月日时分秒

喏,计算两个时间的时间差,精确到年月日时分秒 看起来比较笨的方法了,不知道有没有改进 DateTime d1 = new DateTime(2016, 4, 1, 0, 0, 0); DateTime ...

oracle中计算两个日期的相差天数、月数、年数、小时数、分钟数、秒数等

oracle如何计算两个日期的相差天数.月数.年数.小时数.分钟数.秒数 1.相差天数(两个日期相减) --Oracle中两个日期相差天数-- select TO_NUMBER(TO_DATE('20 ...

js前台计算两个日期的间隔时间

js前台计算两个日期的间隔时间(时间差)原创 2017年08月28日 16:09:43 标签:javascript 1144在后台传来两个时间字段,从中解析出两个字符串类型的日期格式 需要在前台解析出 ...

随机推荐

[LeetCode] Moving Average from Data Stream 从数据流中移动平均值

Given a stream of integers and a window size, calculate the moving average of all integers in the sl ...

openfire+asmack搭建的安卓即时通讯(四) 15.4.10

之前的教程不知道你们成功了没,,,没成功可以问我啊=-= 第四篇博文是要实现发送消息的功能. 首先在我们登陆后的活动的layout里添加这样的两个控件,一个EditText和一个Button用于发送数 ...

熟练掌握HDFS的Shell访问

HDFS设计的主要目的是对海量数据进行存储,也就是说在其上能够存储很大量文件 (可以存储TB级的文件).HDFS将这些文件分割之后,存储在不同的DataNode上, HDFS 提供了两种访问接口:Sh ...

浅谈MVC页面之间参数传递

关于MVC页面之间的传值,有多种方式,下面,我们就Html.RenderAction 方式 和 Html.RenderPartial 方式 来给大家分享一下有什么不同. 一.Html.RenderAc ...

jvm内存结构(一)

学习之余,整理了下JVM的资料 堆: 需要重点关注的一块区域,涉及到内存的分配与回收 方法区: 用于存储已经被虚拟机加载的类信息.常量.静态变量等数据,也叫永久区 常量池: 用于存放编译期生成的各种字 ...

转---python os.exec*()家族函数的用法

execl(file, arg0,arg1,...) 用参数列表arg0, arg1 等等执行文件 execv(file, arglist) 除了使用参数向量列表,其他的和execl()相同 exec ...

tomcat 9.0.4 性能调优

参考了网上的一些优化参数,但是在启动中发现 有2个报错: 11-Feb-2018 15:57:23.293 警告 [main] org.apache.catalina.startup.SetAllPr ...

如何用Python实现常见机器学习算法-3

三.BP神经网络 1.神经网络模型 首先介绍三层神经网络,如下图 输入层(input layer)有三个units(为补上的bias,通常设为1) 表示第j层的第i个激励,也称为单元unit 为第j层 ...

Generate web.xml deployment descriptor

eclipse 使用tomcat7.0建立Dynamic Web Project 时,next至步骤“Web Module”,此时勾选选项“Generate web.xml deployment de ...

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle中,我们可以使用正则表达式函数来匹配两个相同字符之间的字符串。 首先,我们可以使用REGEXP_SUBSTR函数来实现正则表达式匹配。该函数的语法为: REGEXP_SUBSTR(source_string, pattern, start_position, occurrence) 其中,source_string是要匹配的字符串;pattern是匹配模式,是一个正则表达式;start_position是开始匹配的位置;occurrence是指定第几个匹配项。如果省略start_position,默认从字符串的第一个字符开始匹配;如果省略occurrence,默认为1。 例如,我们想匹配字符串"AAHelloAAWorldAACode"中两个相同字符"AA"之间的子字符串,可以使用以下语句: SELECT REGEXP_SUBSTR('AAHelloAAWorldAACode', 'AA(.+?)AA', 1, 1) AS result FROM dual; 结果会返回匹配到的第一个结果,即"Hello"。 如果我们想匹配所有的子字符串,可以使用REGEXP_REPLACE函数来实现。该函数的语法为: REGEXP_REPLACE(source_string, pattern, replace_string, start_position, occurrence) 其中,source_string是要匹配的字符串;pattern是匹配模式,是一个正则表达式;replace_string是替换的字符串;start_position是开始匹配的位置;occurrence是指定第几个匹配项。如果省略start_position,默认从字符串的第一个字符开始匹配;如果省略occurrence,默认为0,表示替换所有匹配项。 例如,我们想将字符串"AAHelloAAWorldAACode"中两个相同字符"AA"之间的子字符串替换为空字符串,可以使用以下语句: SELECT REGEXP_REPLACE('AAHelloAAWorldAACode', 'AA(.+?)AA', '', 1, 0) AS result FROM dual; 结果会返回替换后的字符串"HelloWorldCode"。 通过使用这些正则表达式函数,我们可以灵活地实现在Oracle中匹配两个相同字符之间的字符串。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值