ORACLE 计算时分秒

1 SELECT
2 EXTRACT (DAY FROM DT2-DT1)*24+EXTRACT(HOUR FROM DT2-DT1) ||‘:‘||EXTRACT(MINUTE FROM DT2-DT1) ||‘:‘||EXTRACT (SECOND FROM DT2-DT1 )
3 FROM(
4 SELECT
5 TO_TIMESTAMP(‘2014/12/03 00:00:00‘,‘YYYY-MM-DD HH24:MI:SS‘) DT1,
6 TO_TIMESTAMP(‘2014/12/04 23:59:59‘,‘YYYY-MM-DD HH24:MI:SS‘) DT2
7 FROM DUAL)
注:TO_TIMESTAMP日期为TO_char型

两个日期直接相减得出的是天数。select sysdate-(sysdate-1) from dual;

2、关于空值(null)

关系模型只有真、假两个结果;而SQL语言允许有三个结果:真、假、未知。

而对于未知这种结果,oracle会认为是正确的,于是在很多的搜索条件中都必须要注意这一点,否则搜索出来的结果和预期会有很大的出入

order by 语句默认把null值放在最后输出,如果要把它放在前边,需要在order by 语句后面加上 nulls first

null在聚合函数中,会被自动的去除掉,也就是不参与聚合函数的运算

时间: 2024-08-01 19:26:54

ORACLE 计算时分秒的相关文章

javascript把秒数转成时分秒显示

function transferTime(second) { if (Number(second) && second > 0) { second = parseInt(second) // 舍去秒数以后的小数位 } else { return '00:00:00' } // 计算时分秒 var h,m,s; s = second % 60 m = ((second - s) % 3600) / 60 h = parseInt(second / 3600) // 优化输出 func

计算一个人的年龄(年月日时分秒),有不对的地方希望大家指出!

想想我们可以做一个计时器,记录一下我们走过了多少时光.看了一下网上别人的一些代码,记录年月的都并不科学,甚至很麻烦,自己倒腾了一上午,总算弄出来了一个. 自己觉得还比较科学,暂时没有发现BUG,如果哪里有错,希望大家指出来! 上代码: <!doctype html><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /&

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:用于指定取整精度的数字,截取时不进

Oracle 把秒转成时分秒格式(呵呵4)

1 CREATE OR REPLACE FUNCTION to_time(sec IN NUMBER) RETURN VARCHAR2 IS 2 /*把秒转成时分秒格式 3 auth lzpong 201/09/16 4 */ 5 BEGIN 6 RETURN TRUNC(NVL(sec,0)/3600)||':'||SUBSTR(NUMTODSINTERVAL(NVL(sec,0), 'second'),15,5); 7 EXCEPTION WHEN OTHERS THEN RETURN '0

Oracle 把秒转成时分秒格式(hh24:mm:ss);检测字符串是否是数字

不说废话,贴代码: 1 CREATE OR REPLACE FUNCTION to_time(sec IN NUMBER) RETURN VARCHAR2 IS 2 /*把秒转成时分秒格式 3 auth lzpong 201/09/16 4 */ 5 BEGIN 6 RETURN TRUNC(NVL(sec,0)/3600)||':'||SUBSTR(NUMTODSINTERVAL(NVL(sec,0), 'second'),15,5); 7 EXCEPTION WHEN OTHERS THEN

Oracle数据库使用mybatis的时候,实体类日期为Date类型,mybatis里面定义的是Date类型,插入的时候,时分秒全部是12:00:00问题

实体类中日期定义的是Date类型的,没毛病: 我在mybatis里面定义的是Date类型的,进行测试的时候发现,数据库插入的日期的时分秒全部都是一样的,都是12:00:00,很郁闷: 后来把mybatis里的类型改为TIMESTAMP,发现查询,插入和修改都正常了. 原文地址:https://www.cnblogs.com/zhang-yawei/p/10362849.html

Java计算年月日时分秒时间差(两个时间相减)

//测试主方法  public static void main(String[] args) {          Date currentTime = df.parse("2004-03-26 13:31:40");   //当前系统时间             Date firstTime = df.parse("2004-01-02 11:30:24");     //查询的数据时间          String str=getTime(currentTi

为什么编程语言以及数据库要从1970年1月1日开始计算时

今天在看Python  API时,看到time模块: The epoch is the point where the time starts. On January 1st of that year, at 0 hours,the “time since the epoch” is zero. For Unix, the epoch is 1970. To find out what the epoch is, look at gmtime(0). 定义time从1970年1月1日开始,忽然想

java.sql.date与java.util.date区别以及数据库中插入带时分秒的时间

java.sql.Date,java.sql.Time和java.sql.Timestamp三个都是java.util.Date的子类(包装类). java.sql.Date是java.util.Date的子类,是一个包装了毫秒值的瘦包装器,允许 JDBC 将毫秒值标识为 SQL DATE 值.毫秒值表示自 1970 年 1 月 1 日 00:00:00 GMT 以来经过的毫秒数. 为了与 SQL DATE 的定义一致,由 java.sql.Date 实例包装的毫秒值必须通过将时间.分钟.秒和毫