分区可以按照两个字段分区,先比较第一个列,如果满足,则忽略第二列,如果第一个不满足,则需要比较第二个列。这种分区的方式有点难以让人理解,建议不要使用。
SQL> select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
PL/SQL Release 11.2.0.1.0 - Production
CORE 11.2.0.1.0 Production
TNS for Linux: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production
SQL> create table test (
year number(4),month number(4),
day number(4))
partition by range (year,month)
(partition p1 values less than (2014,1),
partition p2 values less than (2014,6),
partition p3 values less than (2014,10),
partition p4 values less than (2014,12),
partition p_max values less than (MAXVALUE,0));
SQL> insert into test values(2013,12,12);
SQL> insert into test values(2014,1,17);
SQL> insert into test values(2014,7,17);
SQL> insert into test values(2014,11,1);
SQL> commit;
SQL> select * from test partition(p1);
YEAR MONTH DAY
---------- ---------- ----------
2013 12 12
SQL> select * from test partition(p2);
YEAR MONTH DAY
---------- ---------- ----------
2014 1 17
SQL> select * from test partition(p3);
YEAR MONTH DAY
---------- ---------- ----------
2014 7 17
SQL> select * from test partition(p4);
YEAR MONTH DAY
---------- ---------- ----------
2014 11 1