在Oracle中计算两个日期间隔的天数、月数和年数
一、天数:
在Oracle中,两个日期直接相减,便可以得到天数;
select to_date('08/06/2015','mm/dd/yyyy')-to_date('07/01/2015','mm/dd/yyyy') from dual;
二、月数:
计算月数,需要用到months_between函数;
select months_between(to_date('01/31/2015','mm/dd/yyyy'),to_date('12/31/2014','mm/dd/yyyy')) "MONTHS" FROM DUAL;
select months_between(to_date('01/01/2015','mm/dd/yyyy'),to_date('12/31/2014','mm/dd/yyyy')) "MONTHS" FROM DUAL;
select * from xuesheng where months_between(sysdate,t_birthday)/12>20; 查询年龄超过20岁的学生
三、年数:
计算年数,是通过计算出月数,然后再除以12;select trunc(months_between(to_date('08/06/2015','mm/dd/yyyy'),to_date('08/06/2013','mm/dd/yyyy'))/12) from dual;
to_number() , To_number(varchar2 or char,’format model’)
add_months(),
oracle中的常用的函数的总结:
1、add_months(x,y)或者add_months(times,months)函数:
(1)用途:这个函数用于计算在时间x之上机上Y个月后的时间值,要是Y的值为负数的话就是在
这个时间点之间的时间值(这个时间-Y个月)。
(2)用法实例:
A:--从emp表查询列出来公司就职时间超过24年的员工名单
select ename, hiredate
from emp
where hiredate <= add_months(sysdate, -288);--负数代表系统时间(sysdate)之前的24年的时间-288 = -24*12
B:--查询出在员工'SCOTT'入职一年后入职的员工的信息
select ename, a.hiredate, sal
from emp a, (select hiredate from emp where ename = 'SCOTT') b
where a.hiredate > = add_months(b.hiredate, 12);
解析:上面的查询思路如下
a:在from语句的后面将员工'SCOTT'的入职时间查出放在一个表里,表的别名为b
b:将上面的b表再次作为查询表
c:然后利用add_months(x,y)函数在b表的hiredate之后的12个月作为查询条件
C:--查询半年前的时间
select add_months(sysdate,-6) from dual;
解析:dual是oracle提供的最小功能表,它只有一行一列
来自:https://blog.csdn.net/u013991521/article/details/79293846
https://blog.csdn.net/baidu_36695217/article/details/79798531
在Oracle中计算两个日期间隔的天数、月数和年数的更多相关文章
- oracle中计算两个日期的相差天数、月数、年数、小时数、分钟数、秒数等
oracle如何计算两个日期的相差天数.月数.年数.小时数.分钟数.秒数 1.相差天数(两个日期相减) --Oracle中两个日期相差天数-- select TO_NUMBER(TO_DATE('20 ...
- Oracle 计算两个日期间隔的天数、月数和年数
在Oracle中计算两个日期间隔的天数.月数和年数: 一.天数: 在Oracle中,两个日期直接相减,便可以得到天数: select to_date('08/06/2015','mm/dd/yyyy' ...
- SWIFT中计算两个日期间隔多少小时
SWIFT中如何计算两个日期间隔多少个小时,其实几句代码就可以搞定了,Very Easy,在Playground内输入以下代码 var date1 = "2015-06-26 8:15:10 ...
- java7与java8中计算两个日期间隔多少年多少月多少天的实现方式
最近工作中碰到个新需求,计算每个员工入职公司的时长,要求形式为多少年多少月多少天形式,某个值为0就跳过不显示,因为前段时间学习过java8新特性,对于这个需求,java8的新时间日期API可以直接解决 ...
- Oracle中计算两个日期时间的差
--方法1 select floor((sysdate - to_date('2006-09-01 08:00:00', 'yyyy-mm-dd hh24:mi:ss'))) as sDays fro ...
- JAVA中计算两个日期时间的差值竟然也有这么多门道
上半年春招的时候,作为面试官,对于面试表现的不错的同学会要求其写一小段代码看看.题目很简单: 给定一个日期,然后计算下距离今天相差的天数. 本以为这么个问题就是用来活跃面试氛围的,但是结果却让人大跌眼 ...
- js中计算两个日期之差
js中计算两个日期之差 var aBgnDate, aEndDate; var oBgnDate, oEndDate; var nYl ...
- mysql中计算两个日期的时间差函数TIMESTAMPDIFF用法
mysql中计算两个日期的时间差函数TIMESTAMPDIFF用法: 语法: TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2) 说明: 返回日 ...
- Java8 使用LocalDate计算两个日期间隔多少年,多少月,多少天
最近项目遇到一个需要计算两个日期间隔的期限,需要计算出,整年整月整日这样符合日常习惯的说法,利用之前的Date和Calendar类会有点复杂,刚好项目使用了JDK8,那就利用起来这个新特性,上代码: ...
随机推荐
- mybatis一对多映射
场景: A:SecControlRulePojo.java B:SecControlSubRulePojo C:SecControlSubRuleManyPojo 实体A中包含List<B> ...
- java常用API之System类
System中代表程序所在系统,提供了对应的一些系统属性信息,和系统操作.System类不能手动创建对象,因为构造方法被private修饰,阻止外界创建对象.System类中的都是static方法,类 ...
- 前端给div加滚动条样式修改
<!DOCTYPE html> <html lang="en"> <head> <meta chars ...
- 15_volatile
[volatile概念] volatile关键字的主要作用是是变量在多个线程间可见. [注意] 在java中,每一个线程都会有一块工作内存区,其中存放着所有线程共享的主内存中的变量的拷贝.当线程执行时 ...
- Unity Android 真机调试
官方文档 https://docs.unity3d.com/Manual/AttachingMonoDevelopDebuggerToAnAndroidDevice.html 然而 按照官方文档 很多 ...
- centos 7使用yum安装docker容器
使用yum命令即可安装 yum install docker 安装完成后,使用下面的命令来启动 docker 服务,并将其设置为开机启动: [root@localhost ~]# systemctl ...
- IEEP-网络规划
HCNP-R&S证书是公认人具备中小型企业网络构建和管理能力的专业人士 IEEP包含五个方面内容 1.网络规划与设计 2.网络实施与维护 3.网络排障 4.网络优化 5.网络割接 ...
- php导出cvs xls xlsx
有两种方法,一种是更改输出头部,一种是使用phpexcel类,很显然前者更方便,下面给出一个demo方法导出cvs/** * 导出日志 */public function excel() { setl ...
- laravel5.4学习笔记
1.安装laravel可以直接用composer安装,然后用laravel new xxx来新建项目 服务器上安装了composer(php包管理工具)以后, composer global requ ...
- 一张图看懂微软Power BI系列组件
一.Power BI简介 Power BI是微软最新的商业智能(BI)概念,它包含了一系列的组件和工具.话不多说,直接上图吧: Power BI的核心理念就是让我们用户不需要强大的技术背景,只需要掌握 ...