--创建分区表(超过数据区间不自动增加分区需要事先建立分区)CREATE TABLE TEST_FQB ( ID VARCHAR2(20) , TIME DATE ) --已TIME字段为RANGE来进行分区PARTITION BY RANGE (TIME) --如想自动增加分区则需要开启下面一行命令,如插入数据有超过建立的分区时自动创建分区不规范命名,不建议使用;--按月自动建立分区表;--INTERVAL(NUMTOYMINTERVAL(1,'MONTH'))(--最后一个数据为最大值,下面数据可插入区间为1月1日-2月1日--没有指定表空间 则自动建立在默认表空间下如分区ZJJS_201702 PARTITION ZJJS_201701 VALUES LESS THAN (TO_DATE('2017-01-01','YYYY-MM-DD')) TABLESPACE TEST , PARTITION ZJJS_201702 VALUES LESS THAN (TO_DATE('2017-02-01','YYYY-MM-DD')) );--查询分区表明细 后面可加WHERE查询条件SELECT TABLESPACE_NAME,TABLE_NAME,PARTITION_NAME,PARTITION_POSITION FROM USER_TAB_PARTITIONS;--删除分区表分区ALTER TABLE TEST_FQB DROP PARTITION ZJJS_201703;--增加分区表分区(可选表空间,建议不同年份的数据存在不同表空间中,月份数据按分区划分不分表空间)ALTER TABLE TEST_FQB ADD PARTITION ZJJS_201703 VALUES LESS THAN (TO_DATE('2017-03-01','YYYY-MM-DD')) TABLESPACE TEST1;--插入数据INSERT INTO TEST_FQB (ID,TIME) VALUES('2',TO_DATE('2017-02-03 09:41:06','YYYY-MM-DD HH24:MI:SS'));--查询全部数据SELECT * FROM TEST_FQB;--按分区查询数据SELECT * FROM TEST_FQB PARTITION(ZJJS_201703);--跨分区查询数据SELECT * FROM TEST_FQB PARTITION(ZJJS_201701) UNION ALL SELECT * FROM TEST_FQB PARTITION(ZJJS_201702) UNION ALL SELECT * FROM TEST_FQB PARTITION(ZJJS_201703);SELECT * FROM TEST_FQB WHERE TIME BETWEEN TO_DATE('2017-01-01','YYYY-MM-DD') AND TO_DATE('2017-03-01','YYYY-MM-DD HH24:MI:');