SQL> create table a
2 (a1 date,
3 a2 date);表已创建。SQL> insert into a values ('2006-4-3','2006-2-21');已创建 1 行。SQL> insert into a values ('2006-4-1','2003-12-2');已创建 1 行。SQL> insert into a values ('2005-3-31','2002-5-1');已创建 1 行。SQL> select a.*,Months_between(a1,a2) from a;A1 A2 MONTHS_BETWEEN(A1,A2)
---------- ---------- ---------------------
2006-04-03 2006-02-21 1.41935484
2006-04-01 2003-12-02 27.9677419
2005-03-31 2002-05-01 34.9677419SQL> select a.*,Months_between(a1,a2) MB,ceil(Months_between(a1,a2)) MN from a;A1 A2 MB MN
---------- ---------- ---------- ----------
2006-04-03 2006-02-21 1.41935484 2
2006-04-01 2003-12-02 27.9677419 28
2005-03-31 2002-05-01 34.9677419 35
2 (a1 date,
3 a2 date);表已创建。SQL> insert into a values ('2006-4-3','2006-2-21');已创建 1 行。SQL> insert into a values ('2006-4-1','2003-12-2');已创建 1 行。SQL> insert into a values ('2005-3-31','2002-5-1');已创建 1 行。SQL> select a.*,Months_between(a1,a2) from a;A1 A2 MONTHS_BETWEEN(A1,A2)
---------- ---------- ---------------------
2006-04-03 2006-02-21 1.41935484
2006-04-01 2003-12-02 27.9677419
2005-03-31 2002-05-01 34.9677419SQL> select a.*,Months_between(a1,a2) MB,ceil(Months_between(a1,a2)) MN from a;A1 A2 MB MN
---------- ---------- ---------- ----------
2006-04-03 2006-02-21 1.41935484 2
2006-04-01 2003-12-02 27.9677419 28
2005-03-31 2002-05-01 34.9677419 35
大的日期在前面
-----------
9
SQL>selectmonths_between(to_date('2000.05.20','yyyy.mm.dd'),to_date('2005.05.20','yyyy.mm.dd')) mon_betw from dual; MON_BETW
---------
-60
select Ceil(months_between(to_date('20040401','yyyymmdd'),to_date('20040229','yyyymmdd'))) from dual;
不用to_date可能会出现“文字与格式字符串不匹配”的错误