zoukankan      html  css  js  c++  java
  • oracle日期操作

    1.日期可以直接加减数字,还是日期

    例如:

    select ename,hiredate as zp_date ,
           hiredate - 5 as 减5天,                 --------date 类型对天数的加减可以直接运算
           hiredate -5/24   减5小时,                    -----加减小时,就除以24,类推
           add_months(hiredate, - 5) as 减5个月,--------加减月份需要用函数add_months()
           add_months(hiredate, -5*12) as 减5年   --------一年为12个月。
           from Scott.emp

    2.日期之间可以加减,也可乘除。以日为计算单元,小时要除以24,分钟要再除以60

    例如:

    select  间隔天数 ,    
            间隔天数*24  间隔小时,  ----天数变小时
            间隔天数 * 24 * 60 间隔分钟
    from (select MAX(hiredate) - MIN(hiredate) 间隔天数  FROM SCOTT.EMP where ename in ('SMITH','ALLEN','WARD') )x   ;
    -----找最大日期和最小日期算间隔天数;

    3.要算月份时,可以直接用months_between函数

    例如:

    select max_hire - min_hire 间隔天数,
           months_between( max_hire, min_hire ) 间隔月份,    
         -----此处要用 ','(逗号) 而不是用  '-'号
           months_between( max_hire, min_hire )/12 间隔年份
            from (select max(hiredate) max_hire, min(hiredate) min_hire from scott.emp where ename in ('SMITH','WARD'))p;

    4.比较上一个日期与下一个日期的天数只差

    例如:

    select deptno,
           ename,
           hiredate,
           next_hd - hiredate as diff
           from(
    select deptno,
           ename,
           hiredate,
           lead(hiredate) over(order by hiredate) next_hd,
           lag(hiredate) over (order by hiredate) next_hd2
      from emp
     WHERE deptno = 10)

    简单几个例子,实现日期的简单操作。

  • 相关阅读:
    undefined reference to `sqrt' 问题
    linux上开发minigui的配置过程
    linxu select 返回值
    Unix/Linux C静态库的使用
    ubuntu 默认pdf阅读器乱码
    文件锁使用原理及其方法
    fileno函数与ftruncate函数
    Linux下select函数的使用
    unix linux 文件锁
    iOS 基础笔试题
  • 原文地址:https://www.cnblogs.com/yhoralce/p/6817601.html
Copyright © 2011-2022 走看看