wylwyl1130 你也太狠了点了!!!

解决方案 »

  1.   

    SQL> SELECT TO_CHAR(to_date('1999-08-06','yyyy-mm-dd'),'YYYY')-to_char(sysdate,'yyyy') FROM DUAL;TO_CHAR(TO_DATE('1999-08-06','
    ------------------------------
                                -5
    SQL> SELECT TO_CHAR(to_date('1989-08-06','yyyy-mm-dd'),'YYYY')-to_char(sysdate,'yyyy') FROM DUAL;TO_CHAR(TO_DATE('1989-08-06','
    ------------------------------
                               -15
      

  2.   

    不用pl/sql ,sql 就行
    select 'x' from dual
      where exist (
       select * from dual 
         where months_between(date1,date2)>5*12 and months_between(
             date1,data2)<10*12);
      

  3.   

    tsql的写法datediff(year,@begin,@end)得到两个日期所差的年份]oracle应该也有相应的函数你查一下吧
      

  4.   

    个人觉的 walala79717(star) 比较直观