如何得到两个日期相减是多少年或多少月???? months_between(date1,date2)是月份以上值除以12,再用TRUNC取值应为年份 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 相差天数SQL> select trunc(sysdate,'mm')-to_date('10/02','mm/yy') from dual;TRUNC(SYSDATE,'MM')-TO_DATE('10/02','MM/YY')-------------------------------------------- 31相差月数SQL> select months_between(trunc(sysdate,'mm'),to_date('10/02','mm/yy')) from dual;MONTHS_BETWEEN(TRUNC(SYSDATE,'MM'),TO_DATE('10/02','MM/YY'))------------------------------------------------------------ 1 求年 select trunc(months_between(trunc(sysdate,'mm'),to_date('10/00','mm/yy'))/12 )from dual year(d1)-year(d2)其中d1 d2是date型的month(d1)-month(d1) gks_cn(深情的狼) :sqlserver 中吧? 相差年数:SQL> select trunc((months_between(trunc(sysdate,'mm'),to_date('10/02','mm/yy')))/12) from dual;TRUNC((MONTHS_BETWEEN(TRUNC(SYSDATE,'MM'),TO_DATE('10/02','MM/YY')))/12)------------------------------------------------------------------------ 0 注意如果MONTHS_BETWEEN(DATD1,DATE2)--DATE1和DATE2的日分量不同那会产生分数如下例:SQL> select months_between(trunc(sysdate,'dd'),to_date('01/10/02','dd/mm/yy')) from dual;MONTHS_BETWEEN(TRUNC(SYSDATE,'DD'),TO_DATE('01/10/02','DD/MM/YY'))------------------------------------------------------------------ 1.67741935应改为:SQL> select trunc(months_between(trunc(sysdate,'dd'),to_date('01/10/02','dd/mm/yy'))) from dual;TRUNC(MONTHS_BETWEEN(TRUNC(SYSDATE,'DD'),TO_DATE('01/10/02','DD/MM/YY')))------------------------------------------------------------------------- 1 i agree with ushelp you that it is a happy thing 【oracle】查询语句 在线等!!!!!!!着急!!!!!! 请教实现相同功能的更高效的SQL写法, 谢谢! select 一个视图,如何显示数据? 如何更新一个字段使其所有数据前面都加上07? select结果集优化的问题 菜鸟(初学者)高分求助,进者有分,不够再加 如何导出数据库的生成脚本 请问OMS管理工具在哪儿? ORACLE控制文件如何重建 连两个数据库的问题 那里有oracle(最好是8i)下载
SQL> select trunc(sysdate,'mm')-to_date('10/02','mm/yy') from dual;TRUNC(SYSDATE,'MM')-TO_DATE('10/02','MM/YY')
--------------------------------------------
31相差月数
SQL> select months_between(trunc(sysdate,'mm'),to_date('10/02','mm/yy')) from dual;MONTHS_BETWEEN(TRUNC(SYSDATE,'MM'),TO_DATE('10/02','MM/YY'))
------------------------------------------------------------
1
其中d1 d2是date型的
month(d1)-month(d1)
sqlserver 中吧?
------------------------------------------------------------------------
0
------------------------------------------------------------------
1.67741935应改为:SQL> select trunc(months_between(trunc(sysdate,'dd'),to_date('01/10/02','dd/mm/yy'))) from dual;TRUNC(MONTHS_BETWEEN(TRUNC(SYSDATE,'DD'),TO_DATE('01/10/02','DD/MM/YY')))
-------------------------------------------------------------------------
1
help you that it is a happy thing