Oracle中计算日期之间相差的年月

简介:
一、基本用法
20个月换算成1年8个月,select trunc(20/12) || '年' ||mod(20,12) || '个月' from dual
 
二、深入用法
要结合months_between函数,结果为1年11个月
select 
trunc((months_between(to_date('2012-09-12','yyyy-mm-dd'),to_date('2010-10-12','yyyy-mm-dd')))/12 ) || '年'|| 
mod(months_between(trunc(to_date('2012-09-12','yyyy-mm-dd'),'mm'),trunc(to_date('2010-10-12','yyyy-mm-dd'),'mm')),12) || '个月'
from dual
目录
相关文章
|
7月前
|
SQL 存储 Oracle
Oracle之如何生成出连续的数值
Oracle之如何生成出连续的数值
212 1
|
4月前
|
Oracle 关系型数据库 数据库
oracle日期加减的三种方式
【8月更文挑战第15天】在Oracle数据库中,可通过三种方式对日期进行加减操作:一是利用`ADD_MONTHS`函数增减月份,如`ADD_MONTHS(SYSDATE, 2)`表示两个月后;二是运用算术运算符直接加减天数,如`SYSDATE + 7`表示七天后;三是采用`INTERVAL`表达式增加或减少特定时间间隔,如`SYSDATE + INTERVAL '2' YEAR`表示两年后。这些方法可根据实际需求灵活选用。
2371 5
|
Oracle 关系型数据库
Oracle 计算两个日期间隔的天数、月数和年数
在Oracle中计算两个日期间隔的天数、月数和年数: 一、天数: 在Oracle中,两个日期直接相减,便可以得到天数; 1 select to_date('08/06/2015','mm/dd/yyyy')-to_date('07/01/2015','mm/dd/yyyy') from dual;返回结果:36 二、月数: 计算月数,需要用到months_between函数; 1 --months_between(date1,date2) 2 --如果两个日期中“日”相同,或分别是所在月的最后一天,那么返回的结果是整数。
4124 0
|
7月前
|
SQL Oracle 关系型数据库
oracle中日期循环
oracle中日期循环
363 0
|
存储 Oracle 关系型数据库
连续天数的数据:Oracle 与 MySQL 查询技巧
连续天数的数据:Oracle 与 MySQL 查询技巧
166 0
|
监控 Oracle 关系型数据库
Oracle 计算时间差
Oracle 计算时间差
94 0
|
Oracle 关系型数据库 数据库
Oracle查询优化-07日期运算
Oracle查询优化-07日期运算
121 0
|
SQL Oracle 关系型数据库
Oracle 按照每小时分组,求每组数量
Oracle 按照每小时分组,求每组数量
Oracle 按照每小时分组,求每组数量
|
Oracle 关系型数据库
oracle timestamp相减 计算差多少秒
oracle timestamp相减 计算差多少秒
282 0

推荐镜像

更多