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

时间: 2024-09-26 02:47:40

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

在Oracle中计算时间差的方法

如何在Oracle中计算时间差呢?计算时间差是Oracle DATA数据类型的一个常见问题.Oracle支持日期计算,你可以创建诸如"日期1-日期2"这样的表达式来计算这两个日期之间的时间差. 一旦你发现了时间差异,你可以使用简单的技巧来以天.小时.分钟或者秒为单位来计算时间差.为了得到数据差,你必须选择合适的时间度量单位,这样就可以进行数据格式隐藏. 使用完善复杂的转换函数来转换日期是一个诱惑,但是你会发现这不是最好的解决方法. round(to_number(end-date-st

php判断两个日期之间相差多少个月份的方法_php技巧

本文实例讲述了php判断两个日期之间相差多少个月份的方法.分享给大家供大家参考.具体实现方法如下: /** * @author injection(injection.mail@gmail.com) * @var date1日期1 * @var date2 日期2 * @var tags 年月日之间的分隔符标记,默认为'-' * @return 相差的月份数量 * @example: $date1 = "2003-08-11"; $date2 = "2008-11-06&qu

php判断两个日期之间相差多少个月份的方法

  本文实例讲述了php判断两个日期之间相差多少个月份的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 /** * @author injection(injection.mail@gmail.com) * @var date1日期1 * @var date2 日期2 * @var tags 年月日之间的分隔符标记,默认为'-' * @return 相差的月份数量 * @example: $date1 = "

急求:向oracle中的日期类型中插入空值

问题描述 急切请问:如何向oracle中的日期类型中插入空值?谢谢帮忙!!! 解决方案 解决方案二:允许NULL就可以null想插空格是不行的解决方案三:不填这个栏位不就得了

在oracle中计算时间差

计算时间差是oracle data数据类型的一个常见问题.oracle支持日期计算你可以创建诸如"日期1日期2"这样的表达式来计算这两个日期之间的时间差. 一旦你发现了时间差异你可以使用简单的技巧来以天.小时.分钟或者秒为单位来计算时间差.为了得到数据差你必须选择合适的时间度量单位这样就可以进行数据格式隐藏. 使用完善复杂的转换函数来转换日期是一个诱惑但是你会发现这不是最好的解决方法. round(to_number(end-date-start_date))- 消逝的时间以天为单位

在excel中计算日期差工龄生日等

  方法1:在A1单元格输入前面的日期,比如"2004-10-10",在A2单元格输入后面的日期,如"2005-6-7".接着单击A3单元格,输入公式"=DATEDIF(A1,A2,"d")".然后按下回车键,那么立刻就会得到两者的天数差"240". 提示:公式中的A1和A2分别代表前后两个日期,顺序是不可以颠倒的.此外,DATEDIF函数是Excel中一个隐藏函数,在函数向导中看不到它,但这并不影响我们的

[数据库]Oracle中一个日期查找的误区

oracle|数据|数据库 经常要在数据中检索近一个月来发生的数据,所以采用如下语句select * from eventtable where eventdate>sysdate-30,当数据量小的时候还看不出来,数据量大一些就会发现上面的语句很慢,但eventdate(日期型字段)上也是有索引的,可为什么会慢呢? 原来是Oracle在进行查找的时候不断地去取sysdate这个不断变化的值,而不是我们想象中的一次产生一个条件语句然后进行查找.为了加快速度,我们可以先把当天的日期取出来,然后转成

ORACLE中的日期加减操作实例介绍_Oracle应用

无论是DATE还是timestamp都可以进行加减操作. 可以对当前日期加年.月.日.时.分.秒,操作不同的时间类型,有三种方法: 1 使用内置函数numtodsinterval增加小时,分钟和秒 2 加一个简单的数来增加天 3 使用内置函数add_months来增加年和月 例: 对当前日期增加一个小时: 复制代码 代码如下: SQL> select sysdate, sysdate+numtodsinterval(1,'hour') from dual ; SYSDATE           

oracle中两表之间值互相插入和表自身插入值

有两张表student和otherStudent,表信息如下 SQL> desc student Name Type         Nullable Default Comments ---- ------------ -------- ------- -------- NUM  NUMBER                                 NAME VARCHAR2(20)                           AGE  NUMBER       Y