Oracle 计算两个日期相差天时分秒

1、用到oracle相关函数

round、trunc、to_number、to_date

1.1 round(number[,decimals]) 四舍五入

number:指需要处理的数值,是必须填写的值。

    decimals:指在进行四舍五入运算时 , 小数的应取的位数,该参数可以不填,不填的时候,系统默认小数位数取0。

1.2 trunc(number[,num_digits])

number:指需要处理的数值,是必须填写的值。

    num_digits:用于指定取整精度的数字,截取时不进行四舍五入。该参数可以不填,不填的时候num_digits 的默认值为 0。

1.3to_number(expr [, fmt [, ‘nlsparam‘ ] ]) 转换数据类型

expr:如果expr为char、nchar、varchar2,nvarchar2则可以指定格式fmt,如果是binary_float、binary_double则不能指定格式

nlsparam: 用于数字转换的TO_CHAR函数中的nlsparam参数具有相同的目的。有关更多信息,请参阅TO_CHAR(nuber)。此功能不直接支持CLOB数据。然而,CLOB可以通过隐式数据转换作为参数传入

      1.4 to_date(char [, fmt [, ‘nlsparam‘ ] ]) 将字符转换为日期格式

            char:需要转换的字符

   fmt:是一种指定char格式的日期时间模型格式。如果省略FMT,则char必须是默认日期格式。默认日期格式由NLS_Area初始化参数隐式确定,也可以由NLS_DATE_FORCT参数显式设置。如果fmt是J,对于Julian,char必须是一个整数。

     nlsparam: 指定正在转换为日期的文本字符串的语言。该参数可以具有以下形式

相差时分秒

select startTime, endTime, tday, thour, tminute, round((tt_minute-tminute)*60) as tseconds
from
(
  select startTime, endTime, tday, thour, trunc((tt_hour-thour)*60) as tminute, (tt_hour-thour)*60 as tt_minute
  from
  (select startTime, endTime, tday, trunc((tt_day-tday)*24) as thour, (tt_day-tday)*24 as tt_hour from
    (select to_number(endTime - startTime) as tt_day,
         trunc(to_number(endTime - startTime)) as tday, startTime, endTime from
     (select to_date(‘2012-11-01 00:20:31‘,‘yyyy-mm-dd hh24:mi:ss‘) as startTime,sysdate as endTime from dual)
    )
  )
)

原文地址:https://www.cnblogs.com/ZJ199012/p/12048153.html

时间: 2024-08-08 06:13:14

Oracle 计算两个日期相差天时分秒的相关文章

计算两个日期相差年月日

1 /** 2 +---------------------------------------------------------- 3 * 功能:计算两个日期相差 年 月 日 4 +---------------------------------------------------------- 5 * @param date $date1 起始日期 6 * @param date $date2 截止日期日期 7 +-------------------------------------

计算两个日期相差

package com.xcfh.util; import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.GregorianCalendar; /** *  * @ClassName: DateMargin *  * @Description: 计算两个日期相差天数 * @author PineT

php计算两个日期相差 年 月 日

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

MySQL计算两个日期相差的天数、月数、年数

MySQL自带的日期函数TIMESTAMPDIFF计算两个日期相差的秒数.分钟数.小时数.天数.周数.季度数.月数.年数,当前日期增加或者减少一天.一周等等. SELECT TIMESTAMPDIFF(类型,开始时间,结束时间) 相差的秒数: SELECT TIMESTAMPDIFF(SECOND,'1993-03-23 00:00:00',DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%S')) 相差的分钟数: SELECT TIMESTAMPDIFF(MINUTE,'

Java计算两个日期相差的天数

import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class test16 { /** * @param args * @throws ParseException */ public static void main(String[] args) throws ParseException { /

Java 计算两个日期相差的天数

import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class test16 { /** * @param args * @throws ParseException */ public static void main(String[] args) throws ParseException { /

Java 计算两个日期相差月数、天数

package com.myjava; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; public class MyCalendar { /** * @param args * @throws ParseException */ public static void main(String[] args) throws ParseException {

实现:判断日期之间关系(相交,相离,重合),得到相交重合的天数以及计算两个日期相差的天数

package com.xiawei.repeatdays; import java.util.Date; /** * 判断日期之间关系(相交,相离,重合),得到相交重合的天数 * */public class RepeatDays { /** * 将两个日期相减的结果以字符串秒的格式返回 */ public static String getDayDifference(Date d1 , Date d2){ StringBuffer ds = new StringBuffer(); long

计算两个日期相差多少天

1 #include<stdio.h> 2 #include<stdlib.h> 3 4 #define DayOfyear 365 5 6 #define ISLEAP(year) ((year % 4 = 0 && year % 100 != 0) || year % 400 == 0) 7 8 int isLeap(int year); 9 int dayOftheYear(int year, int month, int day); 10 int diff(